我有一张状态为0,1,2或3的表。 我有一个带有DataGridViewComboBoxColumn的datagridview。我想拥有这些价值观 零,一,二,三分别。 我有一个自动生成的数据表填充网格。 无论我做什么,单元格只显示存储在数据库中的数字。 我如何获得数据绑定组合框以显示我想要的值(“一”而不是“1”) 我还希望显示的值可用,因此用户可以从“一”更改为“两”,并将2发送到数据库。 这可能吗?
答案 0 :(得分:0)
使用状态代码和标题创建一个DataTable:
DataTable statusTable = new DataTable() ;
statusTable.AddColumn("Code" ,system.typeof(Int32)) ;
statusTable.AddColumn("Caption",system.typeof(String));
for (int i=0;i<3;i++)
{
DataRow row = statusTable.newRow() ;
row[0]=i ;
row[1]=new string[] { "Zero", "One", "Two", "Three" }[i] ;
statusTable.AddRow(row) ;
}
将状态DataTable绑定到Combobox列:
DataGridViewComboBoxColumn cb = (DataGridViewComboBoxColumn)DataGridView.Columns["StatusColumnName"] ;
cb.DataSource = statusTable ;
cb.ValueMember = "Code" ;
cb.DisplayMember = "Caption;
状态DataTable的替代是List&lt;状态&gt;,其中Status是一个具有2个公共属性“Code”和“Caption”的类。