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

我不知道自己做错了什么。

非常感谢

C#填充具有组合框、复选框和文本框的DataGrid

尝试创建绑定列表http://msdn.microsoft.com/en-us/library/ms132679.aspx要添加到数据网格视图中的项(网格线)。然后用该列表分配datagrid的属性DataSource。

在此之前,您需要将设计器中的列添加到数据网格视图中。

更多信息请点击此处:http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.datasource.aspx