DataGridView如何增加一个复选框列?
另:如果复选框选中的比较多,请问操作数据库的时候,是一行一行的增加,还是有什么办法可以一起增加.比如:我在checklistbox 中有这样的应用. if (checkedListBox1.CheckedItems.Count != 0)
{
// If so, loop through all checked items and print results.
string s = "";
for (int x = 0; x <= checkedListBox1.CheckedItems.Count - 1; x++)
{
courid = checkedListBox1.Items[x].ToString();
courid = courid.Substring(0,6);
SqlCommand cmd = new SqlCommand("delete from s_SelectResult where studid ='" + stud + "' and courid = '" + courid + "'", con.conn);
con.conn.Open();
cmd.ExecuteNonQuery();
con.conn.Close(); }
}
对应的是每个数据就要调用数据库一次,如果要删除的量很大,岂不是要把数据库累死?有什么比较有效率的方法没?
红色文体是我的提问.
另:如果复选框选中的比较多,请问操作数据库的时候,是一行一行的增加,还是有什么办法可以一起增加.比如:我在checklistbox 中有这样的应用. if (checkedListBox1.CheckedItems.Count != 0)
{
// If so, loop through all checked items and print results.
string s = "";
for (int x = 0; x <= checkedListBox1.CheckedItems.Count - 1; x++)
{
courid = checkedListBox1.Items[x].ToString();
courid = courid.Substring(0,6);
SqlCommand cmd = new SqlCommand("delete from s_SelectResult where studid ='" + stud + "' and courid = '" + courid + "'", con.conn);
con.conn.Open();
cmd.ExecuteNonQuery();
con.conn.Close(); }
}
对应的是每个数据就要调用数据库一次,如果要删除的量很大,岂不是要把数据库累死?有什么比较有效率的方法没?
红色文体是我的提问.
解决方案 »
- 未处理sqlException SqlDataReader sdr= sqlcmd.ExecuteReader();语法错误
- C# 与c交互不上
- 看谁写得速度最快---C#的多线程复制文件夹
- 求:C#经典电子书!!
- c#设计一个中断按钮
- 循环里面需要有个变量怎么办? for (int i = 0; i < 10; i++) 和 for(int i = 0; i < 0; i++)
- 如何通过.net 获取到在电脑上安装的COM组件的ProgID或者CLSID
- FlowLayoutPanel问题!!!
- 请问:如何实现web上的远程拷贝?
- Windows .Net2003 简体中文高级服务器版 BILD3647 提供下载!
- codedom到底用在什么场景下合适
- 标签控件Label位于其他控件之上时,如何实现背景透明?
在前台代码中加入以下代码
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
例如:delete tablename where id in (1,2,3,4,5)纯手打 分来
{
dataGridView2.CommitEdit(DataGridViewDataErrorContexts.Commit); if (e.ColumnIndex == 1)
{
if (((DataGridViewCheckBoxCell)dataGridView2.Rows[e.RowIndex].Cells[e.ColumnIndex]).Tag == null)
((DataGridViewCheckBoxCell)dataGridView2.Rows[e.RowIndex].Cells[e.ColumnIndex]).Tag = "1";
else
{
((DataGridViewCheckBoxCell)dataGridView2.Rows[e.RowIndex].Cells[e.ColumnIndex]).Tag = "0";
}
}
} 下面是遍历CheckBox:for (int j = 0; j < dataGridView2.Rows[i].Cells.Count; j++)
{
//判断是否是checkbox列
if (this.dataGridView2.Columns[j].GetType().Name == "DataGridViewCheckBoxColumn")
{
if ((((DataGridViewCheckBoxCell)dataGridView2.Rows[i].Cells[j]).Tag == null) || (((DataGridViewCheckBoxCell)dataGridView2.Rows[i].Cells[j]).Tag.ToString() == "0"))
{
strTmp1 = "";
}
else if (((DataGridViewCheckBoxCell)dataGridView2.Rows[i].Cells[j]).Tag.ToString() == "1")
{
ckb = dataGridView2.Rows[i].Cells[j].Value.ToString();
strTmp1 = strTmp1 + "," + ckb;
}
break;
}
}