C#填充具有组合框、复选框和文本框的DataGrid
本文关键字:文本 DataGrid 复选框 组合 填充 | 更新日期: 2023-09-27 18:28:42
我有一个包含6列的DataGrid:组合框;组合框;复选框;复选框;复选框;文本框
我正试图用我保存在GridLine对象列表中的值来填充这个DataGrid
public class GridLine
{
public string sColumnA { get; set; }
public bool bError { get; set; }
public string sColumnB { get; set; }
public bool bNullableB { get; set; }
public bool bCollateB { get; set; }
public bool bStaticB { get; set; }
public string sStaticB { get; set; }
(...)
}
我写了一个函数,设置DataGrid最后一行的参数并添加新行,但它工作不正常——我只正确设置了最后一行上的ComboBoxes,其他任何东西:
private void AddLine(GridLine gl)
{
DataGridViewComboBoxCell cellMs = (DataGridViewComboBoxCell)this.Rows[this.Rows.Count - 1].Cells[0];
DataGridViewComboBoxCell cellOra = (DataGridViewComboBoxCell)this.Rows[this.Rows.Count - 1].Cells[1];
DataGridViewCheckBoxCell cellNull = (DataGridViewCheckBoxCell)this.Rows[this.Rows.Count - 1].Cells[2];
DataGridViewCheckBoxCell cellColl = (DataGridViewCheckBoxCell)this.Rows[this.Rows.Count - 1].Cells[3];
DataGridViewCheckBoxCell cellStat = (DataGridViewCheckBoxCell)this.Rows[this.Rows.Count - 1].Cells[4];
DataGridViewTextBoxCell cellStatText = (DataGridViewTextBoxCell)this.Rows[this.Rows.Count - 1].Cells[5];
cellMs.Value = gl.sColumnA;
cellOra.Value = gl.sColumnB;
cellNull.Selected = gl.bNullableB;
cellColl.Selected = gl.bCollateB;
cellStat.Selected = gl.bStaticB;
cellStatText.Value = gl.sStaticB;
this.Rows.Add();
}
我不知道自己做错了什么。
非常感谢
尝试创建绑定列表http://msdn.microsoft.com/en-us/library/ms132679.aspx要添加到数据网格视图中的项(网格线)。然后用该列表分配datagrid的属性DataSource。
在此之前,您需要将设计器中的列添加到数据网格视图中。
更多信息请点击此处:http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.datasource.aspx