datagridView中的Checkbox列

时间:2011-01-21 13:24:35

标签: c# .net

我使用适配器填充的数据表填充datagridview。我有一些小的列。它们被用作旗帜,如布尔。 如何将此列显示为复选框? 请注意,我无法将数据库列类型更改为boolean。

3 个答案:

答案 0 :(得分:3)

您只需要创建一个DataGridViewCheckBoxColumn,然后告诉它false是什么,true

this.ckbCol = new System.Windows.Forms.DataGridViewCheckBoxColumn();

this.dataGridView.Columns.Add(this.active);

this.ckbCol.DataPropertyName = "ACTIVE"; //if u want to bind it to a table or something
this.ckbCol.HeaderText = "Aktiv";
this.ckbCol.Name = "Aktiv";
//Now the important stuff follows!
this.ckbCol.FalseValue = "0";  
this.ckbCol.TrueValue = "1";

这对我来说效果很好,甚至可以在Designer中设置它!

答案 1 :(得分:0)

您可以将TemplateColumn与DataBinder.Eval一起使用,将选中的值正确地分配给复选框,或者在RowDataBound事件处理程序中,您可以检查row.DataItem,如果您的列为“1”,则将复选框设置为选中。在第二种情况下,您使用(FindControl(“checkboxId”)作为CheckBox获得对复选框控件的引用)

答案 2 :(得分:0)

如果我正确地记住了.Net,你有2种方法可以做到这一点。首先是简单的不使用smallint使用布尔值,默认情况下会显示复选框。第二个是你必须以编程方式进行gridview。使用TemplateColumn并在RowDataBound中以编程方式绑定数据。她是帮助您入门的教程http://www.asp.net/data-access/tutorials/adding-a-gridview-column-of-checkboxes-vb