DataGrid中某一列的删除的控制(多谢)
页面中有一个DataGrid,其中有一超链接列(或按钮),这一列点击的话,就把相应的行的记录删除。
那么这个列怎么写,相应的处理函数写在哪里比较好?怎么写。
我原来用一个deleteItem.aspx,在Page_Load的时候进行删除,然后重新导向,这样显然不好。。。
多谢!
问题点数:50、回复次数:14Top
1 楼cctaiyang(带头大哥_OPPA)回复于 2005-03-02 08:51:21 得分 0
DataGrid的设置选项里面就有这个啊Top
2 楼qzb0818(漂来漂去)回复于 2005-03-02 08:57:31 得分 0
在DataGrid中
<asp:ButtonColumn CommandName="del"...
然后
private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.CommandName="del")
{
//删除
}
}Top
3 楼luckyprg(lucky)回复于 2005-03-02 09:01:10 得分 0
如果是按钮的话,给按钮添加单击事件,在单击事件中执行就行了。Top
4 楼andyli001(我的程序我做主)回复于 2005-03-02 09:01:37 得分 0
foreach(DataGridItem CurItem in this.dg.items)
{
}Top
5 楼njuzgj(罐子)回复于 2005-03-02 09:01:44 得分 0
UPTop
6 楼xzq686(★_瞬_★)回复于 2005-03-02 09:02:01 得分 30
<asp:LinkButton Runat="server" CommandName="Delete" CausesValidation="False" ForeColor="red" ToolTip="点这里删除当前行数据!">删除</asp:LinkButton>
Private void DataGrid1_DeleteCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DataGrid1.DeleteCommand
{Dim MyDataTable As New DataTable()
DataTable() MyDataTable = New DataTable();
..
MyDataTable.Rows(e.Item.ItemIndex).Delete()
..
}
Top
7 楼hackate(兰花开香入梦境,独思佳人亦飘然!!)回复于 2005-03-02 09:02:25 得分 0
直接调用deletecommand事件,,删除Top
8 楼zhanqiangz(闲云野鹤-Overriding)回复于 2005-03-02 09:04:36 得分 20
<asp:datagrid id=grdEmployee runat="server" Width="100%" Visible="False" BackColor="#CCCCCC" HorizontalAlign="Center" AutoGenerateColumns="False" AllowPaging="True" CellSpacing="1" CellPadding="1" BorderWidth="0px" BorderColor="#006666" AllowCustomPaging="True" PageSize="5" DataKeyField="Agentid">
==================================注意设置DataKeyField=pk
后台代码
//删除当前店员的记录。
private bool DeleteAgent(string strAgentid)
{
Hashtable tmpHash=new Hashtable();
tmpHash.Add("@Agentid",strAgentid);
ArchivesAgentRules.SetParameterHashtable=tmpHash;
return ArchivesAgentRules.DeleteAgentRecord();
}
//在datagrid上点击删除按钮删除一条记录。
private void grdEmployee_ItemCommand(object sender, DataGridCommandEventArgs e)
{
if( e.CommandName=="delete")
{
if (DeleteAgent(grdEmployee.DataKeys[e.Item.ItemIndex].ToString())==true)
{
commons.Common.MsgBox.Alert(MessageLog.getMessage("I00115"),this.Page);
MessageLog.WriteLog(MessageLog.getMessage("I00115"));
}
else
{
commons.Common.MsgBox.Alert(MessageLog.getMessage("I00116"),this.Page);
MessageLog.WriteLog(MessageLog.getMessage("I00116"));
}
BindEmployee((int)ViewState["CurrentPage"]);
EnableButton();
}
}Top
9 楼l3300(小沙子)回复于 2005-03-02 09:05:57 得分 0
方法都给出了Top
10 楼LoveCherry(论成败,人生豪迈;大不了,重头再来!^_^)回复于 2005-03-02 09:06:09 得分 0
http://blog.csdn.net/lovecherry/archive/2005/02/25/301441.aspxTop
11 楼windydenny(布丁貓貓)回复于 2005-03-02 09:06:19 得分 0
<asp:ButtonColumn Text="Delete" ButtonType="PushButton" HeaderText="Delete" CommandName="Delete"></asp:ButtonColumn>Top
12 楼overmind(overmind)回复于 2005-03-02 14:46:16 得分 0
现在的问题是,怎样得到当前的id <asp:ButtonColumn CommandName="del" ButtonType="PushButton" DataTextField="id" DataTextFormatString="删除{0}" ></asp:ButtonColumn>
我需要把id当作一个参数传到相应的函数里,可是这个asp:ButtonColumn又不能用CommandArgument
到底怎么办???Top
13 楼gsky()回复于 2005-03-02 14:53:17 得分 0
int id=(int)DataGrid1.DataKeys[e.Item.ItemIndex];
id 为参数Top
14 楼gsky()回复于 2005-03-02 14:54:10 得分 0
int id=(int)DataGrid1.DataKeys[e.Item.ItemIndex];
id为参数Top




