我觉得这个好像实现不好,因为好像DataGrid响应的EditCommandColumn事件仅有一个。

解决方案 »

  1.   

    我想可以实现吧?
    因为可以放2个 EditCommandColumn的呀。
    我发现那个什么 DataGrid_OnUpdate并不好用。
    麻烦,不如分成2个程序方便
      

  2.   

    完全没问题! 但是这样做效果不是太好!
    最好是专门做一个权限的DataGrid来修改权限!
      

  3.   

    to:zhq2000(俗子)我可以通过数据库端来最后判断有没有权利修改用户的具体信息的。
    能告诉我怎么样才能知道点的是哪个 EditCommandColumn 吗?再:
    而且做到点了 更改密码的 EditCommandColumn 时,生成一个password框输入新密码。点更改权限的EditCommandColumn时生成一组checkboxlist来让他修改权限。能做到吗?
    哎。asp 1个小时搞定的,到现在24小时都搞不定了
      

  4.   

    在临时列中加入linkbutton试试
    <asp:LinkButton id="del" Text="删除" CommandName="delete" runat="server" /> 
    <asp:LinkButton id="ftp" Text="挂出" CommandName="update"  runat="server" /> 
    对应方法
    void DataList_deleteCommand(Object sender,DataGridCommandEventArgs e) {}
    void DataList_UpdateCommand(Object sender,DataGridCommandEventArgs e) {}
      

  5.   

    忘了一点
    在datagrid属性中加入
    OnupdateCommand="DataList_UpdateCommand"
    OnDeleteCommand="DataList_DeleteCommand"
      

  6.   

    使用TemplateColumn,在使用TemplateColumn时,在TemplateColumn中放置两个LinkButton.
    设置LinkButton的CommadName为两个你想设置的值,例如"ChangePWD","ChangeInfo".然后使用OnItemCommand事件,不要使用对应的什么OnUpdateCommand或者OnDeleteCommand等等其他相应Item事件的函数.然后用switch判断DataGridCommandEventArgs e的属性e.CommandName来决定采取何种动作.
      

  7.   

    老弟,思路可以放宽点:一、采用TemplateColumn代替EditCommandColumn , 在ItemCommand事件中处理相应的操作。
    二、加入两列EditCommandColumn ,在ItemDataBinding事件中分别为些两列的项通过.Attributes.Add方法增加一标识属性:
    WebControl w = (WebControl) e.Item.Cells[n].Controls[m];
    w.Attributes.Add("cmdtag" , "口令");
    w = (WebControl) e.Item.Cells[x].Controls[y];
    w.Attributes.Add("cmdtag" , "权限");
    // n , x 是列序号 ; m , y 是控制序号 , 如果 y 不好确定,可以通过下需方式得到
    //// foreach(WebControl wc in e.Item.Cells[n].Controls)
    //// {
    ////     w.Attributes.Add("cmdtag" , "口令");
    //// }
    在EditCommand事件中,取出 e.CommandSource 中的标识属性,可以判断是那一个Edit操作:
    WebControl wc = (WebControl) e.CommandSource;
    if( wc["cmdtag"] == "口令" )
    {
         .....
    }
    else( wc["cmdtag"] == "权限")
    {
         .....
    }
    这两个方法都能达到你的目的,如果你想用而还不理解的话,说明你对DataGrid的了解太少,就不要再想了,乖乖用两页方式完成交差吧!
    千万别再说不行,要说不会,比这复杂的DataGrid我都做了 .祝工作顺利!:)
      

  8.   

    TO zhq2000(俗子)谢谢你,我有时间去试试除了sdk ,我在哪里能对 DataGrid 了解更多呢?
    有好范例吗?
      

  9.   

    DotNet Framework SDK 有中文版的,你到microsoft上找找,里面的文档是中文的。http://msdn.microsoft.com/msdnmag/default.asp 上有几篇关于 DataGrid的文章!其实关键是了解ItemDataBinding , ItemCreated , ItemCommand , 及利用Web控件的CommandName 及 CommandArgument属性!