1
24
你可以做两件事:
|
2
14
|
3
8
我通常为这种类型的东西创建一个迭代器。它可以避免污染您的数据,并且可以很好地处理数据绑定:
免责声明:我没有编译这段代码,但是已经多次使用了这个模式。 注: 我在WPF和ASP.NET领域工作了几年。显然,WinForms组合框需要的是IList,而不是IEnumerable。一个更昂贵的操作是创建一个列表。这段代码非常简洁,我确实没有编译它:
|
4
3
在数据表中插入空行,并在验证/更新/创建中检查它 |
5
2
在将新数据行绑定到数据源之前,不能将其添加到数据表中? 您可以使用数据表的newrow函数来实现这一点: http://msdn.microsoft.com/en-us/library/system.data.datatable.newrow.aspx |
6
2
我找到了另一个解决方案: 在创建数据表之后(在使用fill之前),添加新行,并使用acceptChanges方法将其添加到表中。新记录将获得rowstate=unchanged,并且不会添加到数据库中,但会在数据表和组合框中可见。
|
7
1
我根据Jason Jackson的建议编写了这个方法:
用途:
下一步,使用所选值:
这将允许显示连接在组合框中的多个列,同时将值成员保留为单个标识符+它将迭代器块与bindingSource一起使用,bindingSource可能会因您的情况而过度终止。 欢迎提出建议和建议。 |
8
0
呃,您不能在数据绑定之后向组合框添加一个默认项吗? |
9
0
我将绑定数据,然后使用comboxbox.items.insert方法在位置0插入一个空白项。类似于FlipQuestion的建议,但它会将项目添加到顶部。 |
10
0
我也遇到过类似的挑战。作为窗体加载事件的一部分,我将控件的SelectedIndex设置为-1 工业工程
有效地,组合框被填充,第一个项目被选中。然后取消选择项目。可能不是所有情况下的可行解决方案。 |
11
0
|
12
0
我是这样发现的:
|
13
0
不要向数据表中添加新行,只需将数据绑定到组合框,并在加载时将selectedIndex设置为-1。这将导致选择为空,直到用户选择一个项目。 我从我目前的一个项目中删去了这个。
为了清除选择,我通常插入一个按钮,将selectedIndex设置回-1。
最后,一旦我验证了表单上的数据,如果任何组合框的selectedIndex为-1,则跳过它,否则我将生成某种类型的默认值,如“N/A”或在这种情况下需要的任何值。 |
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |