将 DataGridView CheckBox Column 用于字符串数据列
Use DataGridView CheckBox Column for a string data column
我在数据库中有这个 table:
applicant | module | date | approvation |
xxxx xxxx xxxx xxxxxxx
yyyy yyyy yyyy yyyyyyy
tttt tttt tttt ttttttt
我有这个数据库 table。查询后我分配
DataTable
我的 DataGridView.DataSource
:
QueryAssist qa = new QueryAssist();
DataTable dt = new DataTable();
dt = qa.runQuery('myquery');
dgvApprovazione.DataSource = dt;
dgvApprovazione.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.DisplayedCells);
// modify, transform 2nd column in cellLink
foreach (DataGridViewRow row in dgvApprovazione.Rows)
{
row.Cells[1] = new DataGridViewLinkCell();
}
现在我想转换字符串 approved
或 not approved
列 approvation
并显示一个复选框。
如果此单元格的值为 approved
复选框已选中且未修改(只读)。
类似的东西:
foreach (DataGridViewRow row in dgvApprovazione.Rows)
{
if (row.Cells[3].Value.ToString().Equals("APPROVED"))
{
row.Cells[3] = new DataGridViewCheckBoxCell();
}
}
我有一个问题要实施...帮助我。
这可能吗?怎么样?
回顾:
我想更改一个值包含复选框(已选中或未选中)text/string(已批准或未批准)的列
抱歉英语不好..
好的替代品?
存储yes/no或on/off或true/false 数据库中的值,最好在 sql 服务器中使用 bit
数据类型,但使用 DataGridViewCheckBoxColumn
you can show and edit also a string column by setting TrueValue
and FalseValue
属性。
在下面的示例中,我假设您在数据库中有一个可为空的列,它需要将值存储为 APPROVED
或 NOTAPPROVED
为 nvarchar(50)
并且您需要使用 DataGridViewCheckBoxColumn
.
为此,您应该使用设计器或代码以这种方式添加您的列:
var column1 = new DataGridViewCheckBoxColumn();
column1.Name = "column1"; //Name of column
column1.HeaderText= "Is Approved"; //Title of column
column1.DataPropertyName = "approvation"; //Name of field in database
column1.TrueValue = "APPROVED"; //True value
column1.FalseValue = "NOTAPPROVED"; //False Value
this.dataGridView1.Columns.Add(column1);
通过这种方式,您可以将批准或未批准显示为复选框,您还可以使用复选框编辑这些值。
如果您不需要编辑它们而只想显示它们,您可以将列的只读属性设置为true。
我在数据库中有这个 table:
applicant | module | date | approvation |
xxxx xxxx xxxx xxxxxxx
yyyy yyyy yyyy yyyyyyy
tttt tttt tttt ttttttt
我有这个数据库 table。查询后我分配
DataTable
我的 DataGridView.DataSource
:
QueryAssist qa = new QueryAssist();
DataTable dt = new DataTable();
dt = qa.runQuery('myquery');
dgvApprovazione.DataSource = dt;
dgvApprovazione.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.DisplayedCells);
// modify, transform 2nd column in cellLink
foreach (DataGridViewRow row in dgvApprovazione.Rows)
{
row.Cells[1] = new DataGridViewLinkCell();
}
现在我想转换字符串 approved
或 not approved
列 approvation
并显示一个复选框。
如果此单元格的值为 approved
复选框已选中且未修改(只读)。
类似的东西:
foreach (DataGridViewRow row in dgvApprovazione.Rows)
{
if (row.Cells[3].Value.ToString().Equals("APPROVED"))
{
row.Cells[3] = new DataGridViewCheckBoxCell();
}
}
我有一个问题要实施...帮助我。
这可能吗?怎么样?
回顾:
我想更改一个值包含复选框(已选中或未选中)text/string(已批准或未批准)的列
抱歉英语不好..
好的替代品?
存储yes/no或on/off或true/false 数据库中的值,最好在 sql 服务器中使用 bit
数据类型,但使用 DataGridViewCheckBoxColumn
you can show and edit also a string column by setting TrueValue
and FalseValue
属性。
在下面的示例中,我假设您在数据库中有一个可为空的列,它需要将值存储为 APPROVED
或 NOTAPPROVED
为 nvarchar(50)
并且您需要使用 DataGridViewCheckBoxColumn
.
为此,您应该使用设计器或代码以这种方式添加您的列:
var column1 = new DataGridViewCheckBoxColumn();
column1.Name = "column1"; //Name of column
column1.HeaderText= "Is Approved"; //Title of column
column1.DataPropertyName = "approvation"; //Name of field in database
column1.TrueValue = "APPROVED"; //True value
column1.FalseValue = "NOTAPPROVED"; //False Value
this.dataGridView1.Columns.Add(column1);
通过这种方式,您可以将批准或未批准显示为复选框,您还可以使用复选框编辑这些值。
如果您不需要编辑它们而只想显示它们,您可以将列的只读属性设置为true。