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