页面的删除按钮在GRIDVIEW的外部,如何调用GRIDVIE中的删除事件呢?
我想将GRIDVIEW隐藏内部的删除列,然后在外部的按钮点击事件中调用,但是发现隐藏的删除控件找不到,求救如何解决?
还有即使能调用了,还出现重载均与委托“System.EventHandler”不匹配的问题,如何解决?
谢谢!
我想将GRIDVIEW隐藏内部的删除列,然后在外部的按钮点击事件中调用,但是发现隐藏的删除控件找不到,求救如何解决?
还有即使能调用了,还出现重载均与委托“System.EventHandler”不匹配的问题,如何解决?
谢谢!
谢谢提醒,但是还是想知道如何通过GRIDVIEW实现
{
string whereClause = string.Empty;
CheckBox chk;
foreach (GridViewRow r in GridView1.Rows)
{
chk = (CheckBox)r.FindControl("chkSelect");
if (chk != null)
{
if (chk.Checked)
{
//拼接sql语句
}
}
}
if (whereClause != string.Empty)
{
SqlConnection cn = new SqlConnection("server=.;uid=sa;pwd=sa;database=pubs");
string strSQL = "delete from authors where au_id in (" + whereClause + ")";
SqlCommand cmd = new SqlCommand(strSQL, cn);
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();
}
BindGrid();
}
我知道这样能实现删除的功能,我现在需要实现这样的功能:
选择一条记录后,点击删除,弹出删除确认框进行删除确认,
但是如果你不选择一条记录,直接点击删除,此时应该弹出警告对话框,提示用户“请选择一条记录”,而不是删除确认对话框,又如何实现呢?谢谢
所有我想用外面的删除按钮调用GRIDVIEW内部的删除事件
不明白你的意思?对于GRIDVIEW外面的删除按钮事件我需要达到的效果如下:
选择一条记录后,点击删除,弹出删除确认框进行删除确认,
但是如果你不选择一条记录,直接点击删除,此时应该弹出警告对话框,提示用户“请选择一条记录”,而不是删除确认对话框,又如何实现呢?谢谢
所有我想用外面的删除按钮调用GRIDVIEW内部的删除事件
{
//delete
Response.Write("删除.....");
}
//button[delete]
protected void Button1_Click(object sender, EventArgs e)
{ GridView1_RowDeleted(sender, null);
}只能这样用。但是 有个问题就是 GridViewDeletedEventArgs e 的属性都无效了。 因为传入的是NULL一般不建议这样不同类型的外部调用。
如果楼主是这个想法的话,只有自己构造Object(sender)和GridViewDeletedEventArgs 的实例了,应该还是可行的。否则没有相关参数,调用的事件就没有办法与相关数据关联,无法触发。
啥是 隐藏内部的删除列 ?? 啥是 隐藏的删除控件?? 很
听不懂啊你是不是想用按钮把 被隐藏的列 删掉啊?
定义个选择列的变量 ]
public int index=-2; DataGridView 的cellClick 事件
获得要删除的列序号
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
this.index = e.ColumnIndex;
} 删除函数
public void delete() //public void delete(ref DataGridView,int index) 可以自己扩展
{
if (this.index == -2)
{
MessageBox.Show("请选定要删除的列!", "提示", MessageBoxButtons.OKCancel);
}
else
{
MessageBox.Show("确定要删除?", "提示", MessageBoxButtons.OKCancel);
if (this.index > dataGridView1.Columns.Count - 1 || this.index < 0)
{
if(dataGridView1.Columns.Count==0 )
MessageBox.Show("都没列了还删啊!");
else
MessageBox.Show("删除失败");
return;
}
上面的代码用个 try catch 处理吧 我写的简单
this.dataGridView1.Columns.RemoveAt(this.index);
}
}
不知道满足你的要求了没
我怀疑能不能调用