我正在使用datasource将数据表分配给datagridview,我想使列活动看起来像一个复选框 例如:如果列活动等于0,则应取消选中该复选框,反之亦然 有人可以帮忙吗?
答案 0 :(得分:0)
您对数据库的查询如何?如果要检查或取消选中列,最简单的解决方案是将sql查询中的一个值转换为bit。在C#中,它将被视为bool列,它将显示为复选框列。例如:
public void LoadData(ref DataTable dt)
{
using (var connection = new SqlConnection("your connection string here"))
{
connection.Open();
using (SqlCommand command = new SqlCommand(@"SELECT CONVERT(bit, ISNULL(yourSqlColumn which decides, 0)) as Active from yourTable ", connection))
{
using (SqlDataReader reader = command.ExecuteReader())
{
dt.Load(reader);
reader.Close();
}
}
connection.Close();
}
}
以您的主要形式:
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
LoadData(ref dt);
dataGridView1.DataSource = dt;
}
答案 1 :(得分:0)
我解决了它
我在设计师模式中添加了一个复选框列,并添加了truevalue / falsevalue
然后在分配数据源后我把:
grid_dtstock.Columns["clmActive"].DataPropertyName= "active";
“active”:是我的专栏名称来自mysql
“clmActive”:是我添加的列的名称
谢谢你。