【发布时间】:2018-09-28 12:52:32
【问题描述】:
当我选中 dataGridView 中的复选框时,我选中的复选框会自动变为 false,因为我每秒都在刷新我的 dataGridView。我想要发生的是在选中 dataGridView 复选框时取消每秒刷新一次。
这是我的代码:
private void UpdateVisitors_Load(object sender, EventArgs e)
{
//Realtime refresh
refresher.Interval = (1 * 1000); // 10 secs
refresher.Tick += new EventHandler(refresh);
refresher.Start();
}
private void refresh(object sender, EventArgs e)
{
refreshLocal();
}
更新 这是我用来刷新 dataGridView 的 refreshLocal 代码
void refreshLocal()
{
dgvLocal.Rows.Clear();
connection.Close();
connection.Open();
SqlCommand cmd = connection.CreateCommand();
cmd.CommandText = "Select * from tbl_Registration ORDER BY [ID] DESC;";
SqlDataAdapter adap = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adap.Fill(ds);
foreach (DataRow dr in ds.Tables[0].Rows)
{
myID = dr["ID"].ToString();
category = dr["Category"].ToString();
repname = dr["Representative"].ToString();
if (dr["City/Province"].ToString() == "")
{
city = dr["Province"].ToString();
}
else
{
city = dr["City/Province"].ToString();
}
pax = dr["Pax"].ToString();
male = dr["Male"].ToString();
female = dr["Female"].ToString();
students = dr["Students"].ToString();
ar = dr["AR Users"].ToString();
date = dr["Date & Time Added"].ToString();
dgvLocal.Rows.Add(false, myID, category, repname, city, pax,students, ar, date);
}
connection.Close();
}
【问题讨论】:
-
也许将您的“数据网格停止复选框”放在数据网格之外?
-
我不知道你在 refreshLocal 中做了什么,但是如果检查了相关记录,也许你可以在绑定之前将源数据设置为 true
-
大部分代码都不需要。使用数据绑定,无需繁琐地填充每一行,并使用持久的 DataAdapter,您可以将其设置为实际刷新数据
标签: c#