您的位置:首页 > 其它

【摘改】在DataGrid中删除一行时弹出选择对话框

2010-05-28 23:40 323 查看
怎样实现在DataGrid中删除一行时弹出选择对话框,选择yes删除该行,或者弹出一个小窗口,通过小窗口上面的按钮来完成最后删除或取消超作
解决方法:
1)在该DataGrid中添加一个模板列,例如:
<asp:TemplateColumn HeaderText="操作">
<ItemTemplate>
<asp:LinkButton Runat="server" ID="LinkButton1" OnClick="LinkButton_Click">删除</asp:LinkButton>
</ItemTemplate>
</asp:TemplateColumn>
为你的datagird加入ItemCreated事件,在ItemCreated中为列中的服务端按钮添加服务端事件(比如btnChoice.Click+=new EventHandler(btnChoice_Click);)后btnChoice_Click可以被触发,但添加在ItemDataBound事件中则该按钮的btnChoice_Click事件不能被触发。
private void myDataGrid_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem )
{
CustomizeItem(e);
}
}

//添加自定义的行创建代码
private void CustomizeItem(DataGridItemEventArgs e)
{
TableCell myTableCell = e.Item.Cells[myDataGrid.Columns.Count-1];
LinkButton myDeleteButton = (LinkButton) myTableCell.Controls[0];
myDeleteButton.Attributes.Add("onclick","return confirm('你确定要删除吗?');");
myDeleteButton.ToolTip = "Delete this row";
}

2)在该DataGrid中添加事件 ItemCommand,该事件的代码如下:
public void ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
ListItemType lit = e.Item.ItemType;
if (lit == ListItemType.Item || lit == ListItemType.AlternatingItem)
CustomizeDel(e);
}

//自定义的删除代码
private void CustomizeDel(DataGridItemEventArgs e)
{
//执行删除,然后绑定数据
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: