我在dll中定义了删除方法,根据ID删除相应的记录,ID是自增的,数据库是access
下面的删除代码可以实现删除选中的单个行内容,但是全部选中时点击删除,只能删除所有选中的第一行,其他的都没删,请问怎么解决啊??谢谢!
protected void btnSelAll_Click(object sender, EventArgs e)//全部选中
{
foreach (GridViewRow row in GVDetails.Rows)
{
((CheckBox)row.Cells[0].FindControl("chkSelect")).Checked = true;
} }
protected void btnDelSelect_Click(object sender, EventArgs e)//删除选中
{
for (int i = 0; i < GVDetails.Rows.Count; i++)//GVDetails是GridView
{
string ID = ((Label)GVDetails.Rows[i].FindControl("Label1")).Text;
if (((CheckBox)GVDetails.Rows[i].FindControl("chkSelect")).Checked)//chkSelect是模板页中的checkbox
{
oper.DeleteSelectDetails(ID);//删除记录的方法
DetailsBind();
}
}
}
下面的删除代码可以实现删除选中的单个行内容,但是全部选中时点击删除,只能删除所有选中的第一行,其他的都没删,请问怎么解决啊??谢谢!
protected void btnSelAll_Click(object sender, EventArgs e)//全部选中
{
foreach (GridViewRow row in GVDetails.Rows)
{
((CheckBox)row.Cells[0].FindControl("chkSelect")).Checked = true;
} }
protected void btnDelSelect_Click(object sender, EventArgs e)//删除选中
{
for (int i = 0; i < GVDetails.Rows.Count; i++)//GVDetails是GridView
{
string ID = ((Label)GVDetails.Rows[i].FindControl("Label1")).Text;
if (((CheckBox)GVDetails.Rows[i].FindControl("chkSelect")).Checked)//chkSelect是模板页中的checkbox
{
oper.DeleteSelectDetails(ID);//删除记录的方法
DetailsBind();
}
}
}
解决方案 »
- 用户自定义控件 求助
- 小问题,帮帮啊!
- 在ASP.net中产生一组1-10位的整数数字保证24小时内不重覆
- C#定义Access数据库问题,如何定义可以定义到一个文件中整个项目中可以使用,而且使用的是相对路径。
- 定时更新网页中的数据
- Can not open SqlServer~
- 怎样使有热点的图片,当鼠标移动上时,使其的title显示绑定datagrid后的数据。
- 我使菜鳥﹐請教高手﹗﹗
- 这个坛子里用.net真正做开发的人(不是学习)有多少?能否举个手?对.net有信心吗?如果有信心的人不足70%,我就放弃!
- 请问那里可以找到.net名字空间啊,详细一点的。我有visual studio.net bata2,但我不知道和正式版有多大差别?
- 请问一下这个效果怎么做,一定做过的~~
- 求一正则表达式
{
bool isChecked = ((CheckBox)MyGridView2.Rows[i].FindControl("CheckBox1")).Checked;
if (isChecked)
{
string ID = MyGridView2.DataKeys[MyGridView2.Rows[i].RowIndex].Value.ToString();
try
{
SqlCommand MyCommand;
MyCommand = new SqlCommand("SELECT Address FROM [biaozhun] WHERE ID=" + ID.Trim(), Con);
SqlDataReader Sdr = null;
//打开连接
Con.Open();
Sdr = MyCommand.ExecuteReader();
if (Sdr.Read())
{
//获得要删除文件的物理地址
strFileAddress = Sdr["Address"].ToString().Trim(); }
//关闭连接
Con.Close();
try
{
//从数据库中删除记录
string cmdtxt = "DELETE FROM [biaozhun] WHERE [ID] = '" + ID.Trim() + "'";
SqlCommand Com = new SqlCommand(cmdtxt, Con);
Con.Open();
Com.ExecuteNonQuery();
Con.Close();
if (File.Exists(strFileAddress))
{
Label10.Visible = true;
Label10.Text = "文件正在删除中...";
//从硬盘上删除记录对应的文件
System.IO.FileInfo file = new System.IO.FileInfo(strFileAddress);
file.Delete();
Label10.Visible = false;
}
else
{
Label10.Visible = true;
Label10.Text = "该记录对应的文件不存在服务器上,删除操作失败!";
}
}
catch
{
Label10.Visible = true;
//提示文件删除失败!
Label10.Text = "文件删除操作失败!";
}
}
catch
{
this.Response.Write(("删除第" + i + "条记录时出错!"));
}
}
protected void btnDelSelect_Click(object sender, EventArgs e)//删除选中
{
arraylist list = new arraylist();
for (int i = 0; i < GVDetails.Rows.Count; i++)//GVDetails是GridView
{
string ID = ((Label)GVDetails.Rows[i].FindControl("Label1")).Text;
list.items.add(id);
}
for(int j=0;j<list.items.count;j++)
{
//删除的方法
}
}
不好意思打错了
下面的删除代码可以实现删除选中的单个行内容,但是全部选中时点击删除,只能删除所有选中的第一行,其他的都没删,请问怎么解决啊??谢谢!
protected void btnSelAll_Click(object sender, EventArgs e)//全部选中
{
foreach (GridViewRow row in GVDetails.Rows)
{
((CheckBox)row.Cells[0].FindControl("chkSelect")).Checked = true;
} }
protected void btnDelSelect_Click(object sender, EventArgs e)//删除选中
{
for (int i = 0; i < GVDetails.Rows.Count; i++)//GVDetails是GridView
{
string ID = ((Label)GVDetails.Rows[i].FindControl("Label1")).Text; //一定要获取到相应的ID
if (((CheckBox)GVDetails.Rows[i].FindControl("chkSelect")).Checked)//chkSelect是模板页中的checkbox
{
DeleteRecord(ID); //删除方法 }
}
}
protected void DeleteRecord(string stringInput)
{
//执行删除的语句
}