为此,您需要设置 to 的属性AutoGenerateColumns
并将列自己添加到 the和. 列具有允许您设置绑定到底层的属性。DataGridView
false
DataSet
DataGridView
DataGridView
DataPropertyName
DataSource
您可以做的是将AutoGenerateColumns
属性设置为 true,将 DataSet 添加为网格的 DataSource(从而获得大部分所需的列),然后关闭 AutoGenerateColumns 并将 Integer 和 Boolean 列添加到数据集和网格中。
下面是一些示例代码,与 DataTable 绑定:
DataTable dataTable = new DataTable();
DataColumn col1 = new DataColumn("Id",typeof(int));
col1.AutoIncrement = true;
DataColumn col2 = new DataColumn("Name",typeof(string));
DataColumn col3 = new DataColumn("TimeStamp",typeof(DateTime));
dataTable.Columns.AddRange(new DataColumn[] { col1, col2, col3 });
dataTable.Rows.Add(null,"John",DateTime.Now);
dataTable.Rows.Add(null,"Jane",DateTime.Now);
BindingSource source = new BindingSource();
source.DataSource = dataTable;
dataGridView1.DataSource = source;
dataGridView1.AutoGenerateColumns = false;
DataColumn col4 = new DataColumn("CheckCol", typeof(bool));
dataTable.Columns.Add(col4);
DataGridViewCheckBoxColumn dgvcol1 = new DataGridViewCheckBoxColumn();
dgvcol1.DataPropertyName = "CheckCol";
dgvcol1.Name = "Select";
dataGridView1.Columns.Add(dgvcol1);
我还没有实现 NumericUpDown 列类型,但它应该与显示的复选框列类型一样工作。