c# - 使用复选框更改 datagridview 中的tiny int

标签 c# mysql visual-studio checkbox datagridview

我正在使用 MySQL 数据库中的数据填充 DataGridView,其中一个值设置为tiny int( bool 值),我希望它看起来像 DGV 中的复选框而不是 0 和 1,我该怎么做?

我在 DGV 中推送数据的代码。

MySqlConnection myConn = new MySqlConnection(conStr);
adapter = new MySqlDataAdapter();
adapter.SelectCommand = new MySqlCommand(query, myConn);
MySqlCommandBuilder cb = new MySqlCommandBuilder(adapter);
myConn.Open(); //da.Fill(ds, sTable); da.Update(ds, sTable); myConn.Close();

ds = new DataSet();
adapter.Fill(ds, sTable);
myConn.Close();

dataGridView1.Refresh();

dataGridView1.DataSource = ds;
dataGridView1.DataMember = sTable;
dataGridView1.Columns[0].Visible = false; 

我设法将单元格更改为如下所示的复选框:

for (int i = 0; i < dataGridView1.RowCount; i++)
{
this.dataGridView1.Rows[i].Cells[7] = new DataGridViewCheckBoxCell();
}

,但我认为它不高兴的是它得到0和1而不是true和false。

显然它按预期工作,但我收到错误:

enter image description here

最佳答案

您可以在 msdn https://msdn.microsoft.com/ru-ru/library/system.windows.forms.datagridviewcheckboxcolumn(v=vs.110).aspx 上找到示例

private void AddOutOfOfficeColumn()
{
 DataGridViewCheckBoxColumn column = new DataGridViewCheckBoxColumn();
 {
     column.HeaderText = ColumnName.OutOfOffice.ToString();
     column.Name = ColumnName.OutOfOffice.ToString();
     column.AutoSizeMode = 
        DataGridViewAutoSizeColumnMode.DisplayedCells;
     column.FlatStyle = FlatStyle.Standard;
     column.ThreeState = true;
     column.CellTemplate = new DataGridViewCheckBoxCell();
     column.CellTemplate.Style.BackColor = Color.Beige;
 }

 DataGridView1.Columns.Insert(0, column);
}

关于c# - 使用复选框更改 datagridview 中的tiny int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49920568/

相关文章:

c# - 在 C# 中为对象创建命名空间

c# - 我该如何缩短 If else

c# - 如何从 C# csproj 文件引用解决方案的平台?

php - PHP MySQL 查询中 URL 的变量

python - Django sql 连接失败

python - 强制 mysqldb dict 游标返回带有表名的所有列名前缀

c# - WPF 属性面板类似于 Visual Studio 的

C# .NET 图表 - 添加图例滚动条和复选框

c++ - CreateProcessAsUser 返回错误代码 2

visual-studio - 从另一台计算机访问IIS Express