DataGridViewRow设置显示

本文关键字:显示 设置 DataGridViewRow | 更新日期: 2023-09-27 18:04:19

我有一个状态为0、1、2或3的表。我有一个datagridview与DataGridViewComboBoxColumn。我想让它有值分别是0、1、2、3。我有一个自动生成的填充网格的数据表。无论我做什么,单元格都只显示存储在数据库中的数字。如何让绑定组合框单元格显示我想要的值("one"而不是"1")我还希望显示的值是可用的,所以用户可以从"一"改为"二",并有2被发送到数据库。这可能吗?

DataGridViewRow设置显示

创建状态码和标题的数据表:

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) ;
}

将状态数据表绑定到Combobox列:

DataGridViewComboBoxColumn cb = (DataGridViewComboBoxColumn)DataGridView.Columns["StatusColumnName"] ; 
cb.DataSource    = statusTable ;
cb.ValueMember   = "Code" ;
cb.DisplayMember = "Caption;

status DataTable的替代选项是List <,其中Status是一个类,有两个公共属性"Code"answers"Caption"