请教大虾们一个问题,谢谢

pandarsok2000 2020-09-26 02:24:39
现在想在datagridview上新加一列checkbox,默认为选中状态,可是我这样写,默认就是没选中

public void ShowPc(string str)
{

SqlConnection myconn = new SqlConnection();
myconn.ConnectionString = Main.mystr;
myconn.Open();
DataSet myds = new DataSet();
SqlDataAdapter myadp = new SqlDataAdapter(str, myconn);
myadp.Fill(myds, "ksb");
dataGridView1.DataSource = myds.Tables["ksb"];
myconn.Close();

}

public void LoadCheckBox()
{
DataGridViewCheckBoxColumn checkbox = new DataGridViewCheckBoxColumn();
//列显示名称
checkbox.HeaderText = "出场";
checkbox.Name = "IsChecked";
checkbox.TrueValue = true;
checkbox.FalseValue = false;

checkbox.DataPropertyName = "IsChecked";
//列宽
checkbox.Width = 50;
//列大小不改变
checkbox.Resizable = DataGridViewTriState.False;
//添加的checkbox在dgv第一列
this.dataGridView1.Columns.Insert(0, checkbox);

for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
dataGridView1.Rows[i].Cells[0].Value =true;
}

}

private void Modify_Load(object sender, EventArgs e)
{
currentpc = 1;
str = "select * from ksb where pc='" + currentpc + "' and examdate=(select val from setting where items='currentexam') order by seat";
ShowPc(str);
LoadCheckBox();

}



...全文
7822 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
pandarsok2000 2020-09-26
  • 打赏
  • 举报
回复
调试发现,这种情况会在子窗口中出现,不知道是什么原因?
  • 打赏
  • 举报
回复
检查一下有没有其它针对 dataGridView1 数据源的操作在这里的代码之后被执行。
pandarsok2000 2020-09-26
  • 打赏
  • 举报
回复
for (int i = 0; i < dataGridView1.Rows.Count; i++) { dataGridView1.Rows[i].Cells[0].Value =true; } 这个写法用在CLICK事件中,都正常,但是在LOAD事件中,就不起作用,不知道是什么原因,要怎么改,谢谢

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧