我有一个主窗体(让我们称之为frmHireQuote),它是主MDI窗体(frmMainMDI)的子窗口,当单击一个按钮时,它通过ShowDialog()显示另一个窗体(frmImportContact).
当用户在frmImportContact上单击"确定"时,我想将一些字符串变量传递回frmHireQuote上的某些文本框.
请注意,可能有多个frmHireQuote实例,显然重要的是我回到调用此frmImportContact实例的实例.
这样做的最佳方法是什么?
在没有知道字段名称的情况下,是否有任何SQL
术语可以返回columns
表格的前两个?
就像是
SELECT Column(1), Column(2) FROM Table_Name
Run Code Online (Sandbox Code Playgroud)
或者我是否需要走很长的路才能找到列名?我该怎么办?
这是迄今为止的故事:
我正在做一个C#winforms应用程序,以方便指定租用报价的设备.
在其中,我有List<T>
~1500个库存商品.
这些项目具有一个名为的属性AutospecQty
,该属性具有get
需要执行某些特定于每个项目的代码的访问者.此代码将引用列表中的各种其他项.
因此,例如,一个项目(让我们称之为Item0001
)有这个get
访问器,可能需要执行一些看起来像这样的代码:
[some code to get the following items from the list here]
if(Item0002.Value + Item0003.Value > Item0004.Value)
{ return Item0002.Value }
else
{ return Item0004.Value }
Run Code Online (Sandbox Code Playgroud)
这一切都很好,但这些代码可能每周都会改变,所以我试图避免经常重新部署.此外,每个项目可能(将)具有完全不同的代码.有些人会查询列表,有些人会做一些长屁股数学函数,有些会像上面那样简单加法......有些将取决于列表中未包含的变量.
我想要做的是将每个项目的代码存储在我的数据库的表中,然后当应用程序启动时,只需将相关代码拉出并将其打包到列表中,随时可以执行.
我在internot上看到的关于执行字符串作为代码的大多数例子看起来都很冗长,令人费解,和/或不是特别新手编码器友好(我是一个完全的业余爱好者),并且似乎没有采取考虑被传递的变量.
所以问题是:
我猜这是一个非常危险的领域,无论我走哪条路.有人能告诉我,如果我打开一罐最好的蠕虫并真正关闭吗?
是否有更好的方式来处理这整件事?我有一个过度复杂的习惯,我试图踢它:P
与其他信息一样,autospec代码也不是用户输入的.这将是我每周更新它(没有其他人可以访问它),所以希望至少可以缓解一些安全问题.
如果我解释得很糟糕,请道歉.
提前致谢
我确定有一种很好的方法可以做到这一点(我猜测其中一种扩展方法?),但我很难在Google上找到它.
基本上我有一个自定义类列表; 我想从中选择一些项目到一个新的List中,其中一个属性等于另一个List中的任何值.
这是我正在尝试做的一个(简化)快速示例:
public class Job
{
public int Number;
public string ClientCompanyName;
}
List<Job> lstJobs = new List<Job>();
List<Job> lstCompare = new List<Job>();
Run Code Online (Sandbox Code Playgroud)
通常我会这样做:
List<Job> lstFiltered = new List<Job>();
foreach(Job jobThis in lstCompare)
{
foreach(jobComp in lstCompare)
{
if(jobThis.Number = jobComp.Number)
{
lstFiltered.Add(jobThis);
}
}
}
Run Code Online (Sandbox Code Playgroud)
是否有一种扩展方法可以将最后一位加入(理想情况下)单行?
干杯