Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DataGridView.ComboBoxColumn是否可能有两个数据源?_C#_Datagridview - Fatal编程技术网

C# DataGridView.ComboBoxColumn是否可能有两个数据源?

C# DataGridView.ComboBoxColumn是否可能有两个数据源?,c#,datagridview,C#,Datagridview,我有一个DataGridView,它有几个TextBoxColumns和一个名为“combo”的ComboBox列,其中包含客户端类型。问题是,我想显示当前选择的客户机类型值和下拉客户机类型列表,以验证用户将来的更改。在SQLServer中,我有一个数据库,它有两个表列,“client\u type\u dropdown.name”和“clients.client\u type”。“client\u type\u dropdown.name”列是一个验证列表。“clients.client_ty

我有一个DataGridView,它有几个TextBoxColumns和一个名为“combo”的ComboBox列,其中包含客户端类型。问题是,我想显示当前选择的客户机类型值和下拉客户机类型列表,以验证用户将来的更改。在SQLServer中,我有一个数据库,它有两个表列,“client\u type\u dropdown.name”和“clients.client\u type”。“client\u type\u dropdown.name”列是一个验证列表。“clients.client_type”列包含数据库中客户端的当前客户端类型。在“combo”中是否有一种方法可以同时显示“client\u type\u dropdown.name”和“client.client\u type”,即ComboBoxColumn下拉列表的一个源和“combo”文本框部分的另一个源?或者我的网格中需要有两列吗


非常感谢您的帮助。

我使用的是第三方网格,但我通常通过将组合下拉样式设置为
DropDown
而不是
DropDownList
来处理此问题。这将允许显示原始数据库值,即使它不在列表中


这还允许在combo字段中自由键入值,因此之后的技巧是验证用户输入,确保它与列表中的值匹配,然后再允许它们保存更新的值。您可以使用组合的
LimitToList
属性来避免手动执行验证,但对于我使用过的大多数控件,它会给您带来更多的痛苦而不是帮助。

嘿,Joel,谢谢你。DataGridView.ComboxColumn没有相应的属性,drats!乔尔:你在用什么第三方电网?你为什么喜欢它?嗨,蒂姆:我在我现在的公司用基础设施。它是相当可定制的,比DataGridView稍微容易一些。但是,我不能推荐它,主要是因为它的对象模型。从DataGridView转到Infragistics网格会让你头晕目眩,试图找到他们创建的模糊结构中隐藏的一切。我曾经和一些人合作过,他们说DevExpress网格更好,从我所看到的情况来看,这是真的。它看起来比Infrastics更干净、更现代,功能更强大,并且对象模型更接近Microsoft创建的对象模型。我希望您可以使用DataGridView解决当前的问题(我相信以前已经这样做过),但它可能涉及编写您自己的列和单元格下拉子类。这可能需要很多工作。这很有帮助,谢谢。我看过一些第三方工具,它们看起来都很笨重,文档也比微软控件少。我想我需要把它分成两列——一列用于存储值,另一列用于保存下拉列表。再次感谢。