• 全部
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm&WPF
  • C#开发新技术
  • 问答

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

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();

}



...全文
7772 点赞 收藏 3
写回复
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事件中,就不起作用,不知道是什么原因,要怎么改,谢谢
回复
相关推荐
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2020-09-26 02:24
社区公告

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