我有一个状态为0、1、2或3的表。我有一个带有DataGridViewComboBoxColumn的数据网格视图。我希望它的值分别为0,1,2,3。我有一个自动生成的datatable来填充网格。无论我做什么,单元格只显示存储在数据库中的数字。如何让数据绑定的组合框单元格显示我想要的值(“1”而不是"1")我还希望显示的值可用,这样用户就可以从“1”更改为“2”,并将2发送到数据库。这个是可能的吗?
发布于 2015-07-23 04:55:59
创建具有状态代码和标题的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绑定到组合框列:
DataGridViewComboBoxColumn cb = (DataGridViewComboBoxColumn)DataGridView.Columns["StatusColumnName"] ;
cb.DataSource = statusTable ;
cb.ValueMember = "Code" ;
cb.DisplayMember = "Caption;status DataTable的另一个选择是List < Status >,其中Status是一个具有2个公共属性“代码”和“标题”的类。
https://stackoverflow.com/questions/31573101
复制相似问题