我需要知道是否可以直接从字符串列表设置DataGridViewComboBoxColumn的ValueMember属性。
e.g。
List<string> productNames = new List<string>();
List<Products.Product> t = new List<Products.Product>();
foreach (var p in products)
{
var x = p.Product;
itemListing = x;
foreach (var pn in x)
{
productNames.Add(pn.name);
}
}
.............
// set values to combobox column cells in datagridview
GridSellProducts.Rows.Add();
DataGridViewComboBoxColumn cmbItems = (DataGridViewComboBoxColumn)GridSellProducts.Columns["Item"];
cmbItems.DataSource = productNames;
cmbItems.DisplayMember = cmbItems.ValueMember;
cmbItems.ValueMember = // code to put here
cmbItems.AutoComplete = true;
中没有得到这样的例子
如何设置cmbItems.ValueMember
?
答案 0 :(得分:2)
我认为你应该这样做:
cmbItems.DataSource = products;
cmbItems.DisplayMember = cmbItems.ValueMember = "name";
现在,每个项目都是Product
,其中包含一个名为name
的属性。在您的旧代码中,它只是一个字符串,因此DisplayMember和ValueMember唯一可能的属性是Length
,但是在我认为这种情况下它不相关且毫无意义。