用IsSelect把他们都放到DataRow里,再删
解决方案 »
- vs2005 能引用vs2010 编译的dll吗?(C#),如何引用?
- C#自做公用函数库问题
- 模拟提交有验证码时碰到的问题.
- 弱弱地问一下vs代码格式设置问题
- 怎么定位listbox中选中行的位置
- System.IndexOutOfRangeException: 无法找到表 0
- 在做一个定时读取鱼缸温度的东西,求高手帮助。
- TabControl控件数据联动问题?
- 在asp.net中如何调试客户端脚本
- 我想实现可以在一个Form中,点中任何一个地方,都可以想点中标题栏一样,可以实现拖动整个窗口,请问该如何实现?
- 大侠,帮帮忙!一个关于动态链接库的问题(在线等待回复)
- 如何在datagrid的单元格里放置combobox?
当你删除第一条记录的时候。这个条件就不成立了。
如果一定要用你的方法的话。。你自己想想怎么保存选中的记录。
我也觉得应该要用checkBox来实现。。
ArrayList aa = new ArrayList();
int k = 0;
try
{
if (this.sqlConnection1.State.ToString() != "Open")
this.sqlConnection1.Open();
if (this.sqlConnection2.State.ToString() != "Open")
this.sqlConnection2.Open();
if (ds.Tables["test"].Rows.Count > 0)
{
for(int i=0;i<ds.Tables["test"].Rows.Count;i++)
{
if(this.dataGrid1.IsSelected(i))
{
int c = new int();
c = i;
aa.Add(c);
}
}
for(int i=0;i<aa.Count;i++)
{
int j =int.Parse(aa[i].ToString());
// this.BindingContext[this.dataGrid1.DataSource].RemoveAt(i);
this.sqlDataAdapter1.SelectCommand.CommandText="delete from CD_Custmer where Cust_id="+this.dataGrid1[j,0].ToString();
this.sqlDataAdapter1.SelectCommand.ExecuteNonQuery();
string bb="正在删除第"+j.ToString()+"号记录...";
j = j-k;
this.ds.Tables["test"].Rows.RemoveAt(j);
MessageBox.Show(bb);
k = k+1;
}
if (this.sqlConnection1.State.ToString() == "Open")
this.sqlConnection1.Close();
if (this.sqlConnection2.State.ToString() == "Open")
this.sqlConnection2.Close();
}
}
catch(SqlException err)
{
MessageBox.Show("Exception: " + err.Message);
}
catch(Exception error)
{
MessageBox.Show("Exception: " + error.Message);
}
你看下,可能还有些小的bug,你看着改下。
大概的意思就是先删除数据库的,然后再删除DataGrid中的。
good lucky!