DataGridViewRow设置显示

时间:2015-07-22 20:12:47

标签: c# datagridview

我有一张状态为0,1,2或3的表。 我有一个带有DataGridViewComboBoxColumn的datagridview。我想拥有这些价值观 零,一,二,三分别。 我有一个自动生成的数据表填充网格。 无论我做什么,单元格只显示存储在数据库中的数字。 我如何获得数据绑定组合框以显示我想要的值(“一”而不是“1”) 我还希望显示的值可用,因此用户可以从“一”更改为“两”,并将2发送到数据库。 这可能吗?

1 个答案:

答案 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”的类。