我在datagrid中的一个编辑列,选择了删除,delete命令,为什么我在后台中用datagrid_deleteCommand却不能激活他,这是什么原因
我在datagrid中的一个编辑列,选择了删除,delete命令,为什么我在后台中用datagrid_deleteCommand却不能激活他,这是什么原因 问题点数:5、回复次数:13Top
1 楼flyagain110(小飞侠)回复于 2005-12-04 16:34:03 得分 0
在DataGrid的事情中,是否将这个函数给绑上去了,自己查查!Top
2 楼biduan(笔端)回复于 2005-12-04 16:43:40 得分 0
是不是事件丢失了?再绑定一下Top
3 楼myhope88(平凡男孩)回复于 2005-12-04 16:43:57 得分 0
切换到HTML代码视图中,找到Datarid控件,在里面添加OnDeleteCommand="在后台写的事件名称"Top
4 楼otk(otk)回复于 2005-12-04 19:29:27 得分 0
还是不行,我现在把有关数据贴出来,
<html>中代码为
<asp:datagrid id="dgUseradmin" runat="server" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px"
BackColor="White" CellPadding="4" GridLines="Vertical" ForeColor="Black" AutoGenerateColumns="False" PageSize="3" AllowPaging="True"
OnDeleteCommand="dgUseradmin_DeleteCommand">
<FooterStyle BackColor="#FF0066"></FooterStyle>
<SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#CE5D5A"></SelectedItemStyle>
<AlternatingItemStyle HorizontalAlign="Center" BackColor="White"></AlternatingItemStyle>
<ItemStyle HorizontalAlign="Center" BackColor="#F7F7DE"></ItemStyle>
<HeaderStyle Font-Bold="True" HorizontalAlign="Center" ForeColor="White" BackColor="#990000"></HeaderStyle>
<Columns>
<asp:BoundColumn DataField="id" HeaderText="ID">
<HeaderStyle Width="50px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="uname" HeaderText="帐号">
<HeaderStyle Width="70px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="uidentity" HeaderText="权限">
<HeaderStyle Width="120px"></HeaderStyle>
</asp:BoundColumn>
<asp:ButtonColumn Text="帐号删除" ButtonType="PushButton" HeaderText="帐号删除" CommandName="Delete">
<HeaderStyle Width="120px"></HeaderStyle>
</asp:ButtonColumn>
</Columns>
<PagerStyle HorizontalAlign="Right" ForeColor="Black" BackColor="#F7F7DE" Mode="NumericPages"></PagerStyle>
</asp:datagrid>
cs中的代码为
private void Useradmin()
{
SqlConnection con=DB.createConnection();
string sql="select (case uidentity when 'gen' then '普通用户'when 'mid' then '中等用户' when 'vip' then '高级会员' end)uidentity,uname,upwd,id from login ";
SqlDataAdapter sda=new SqlDataAdapter(sql,con);
DataSet ds=new DataSet();
sda.Fill(ds,"AllDataTable");
dgUseradmin.DataSource=ds.Tables["AllDataTable"];
this.dgUseradmin.DataKeyField="id";
dgUseradmin.DataBind();
ShowStats();
private void dgUseradmin_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
Response.Write("asdfasdfasdfasdf");
string id=this.dgUseradmin.DataKeys[e.Item.ItemIndex].ToString();
SqlConnection con=DB.createConnection();
con.Open();
SqlCommand cmd=new SqlCommand("delete from login where id='"+id+"'",con);
cmd.ExecuteNonQuery();
cmd.Connection.Close();
this.Useradmin();
请高手再帮忙看看
Top
5 楼singlepine(小山)回复于 2005-12-04 19:42:39 得分 0
参考这个
http://singlepine.cnblogs.com/articles/266538.html
需要修改
private void dgUseradmin_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//code
}
改为
private void Delete(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//code
}
试试Top
6 楼otk(otk)回复于 2005-12-04 20:06:45 得分 0
还是不行Top
7 楼singlepine(小山)回复于 2005-12-04 20:13:06 得分 0
还有
把
<asp:datagrid id="dgUseradmin" runat="server" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px"
BackColor="White" CellPadding="4" GridLines="Vertical" ForeColor="Black" AutoGenerateColumns="False" PageSize="3" AllowPaging="True"
OnDeleteCommand="dgUseradmin_DeleteCommand">
中的OnDeleteCommand="dgUseradmin_DeleteCommand"去掉,变成如下
<asp:datagrid id="dgUseradmin" runat="server" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="4" GridLines="Vertical" ForeColor="Black" AutoGenerateColumns="False" PageSize="3" AllowPaging="True">
Top
8 楼singlepine(小山)回复于 2005-12-04 20:15:56 得分 0
不是去掉,是变成,如下
<asp:datagrid id="dgUseradmin" runat="server" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="4" GridLines="Vertical" ForeColor="Black" AutoGenerateColumns="False" PageSize="3" AllowPaging="True" OnDeleteCommand="Delete">Top
9 楼remymartin(杯中明月)回复于 2005-12-04 20:16:41 得分 0
把这个删除按钮的CommandName设为"Delete"Top
10 楼otk(otk)回复于 2005-12-04 20:21:23 得分 0
都试试了,不行,我看可以这个网页出了问题,我的一个控件后面的属性也不会自动提示了,我删我,再重作一次1Top
11 楼hbtm(初中学历)回复于 2005-12-04 21:57:46 得分 0
将按钮的CommandName设为"Delete"
然后在itemcommand事件中按参数e.command写入相应的代码就可以了Top
12 楼christiondior()回复于 2005-12-05 08:12:05 得分 0
net又时候就是‘犯病’,删了重写下Top
13 楼caicaibao(菜菜(包))回复于 2005-12-05 09:09:45 得分 0
看看事件委托了没Top




