GridView自定义命令列的实现

在GridView中一般不支持命令列 只支持系统自带的Update Delete Edit Cancel命令列
其实要自定义命令列也非常简单的
前台

<asp:TemplateField>
       
<ItemTemplate>
         
<asp:LinkButton runat="server" ID="lbJoin" CommandName="joinSchool"    Text=""  CommandArgument='<%#DataBinder.Eval(Container,"RowIndex") %>' OnCommand="lbJoin_Command" CausesValidation="false"></asp:LinkButton>
       
</ItemTemplate>
</asp:TemplateField>  

前台把需要的参数邪道CommandArgument中 在后台去获取

后台:

protected void lbJoin_Command(object sender,CommandEventArgs e)
    
{
        
int rowIndex = Convert.ToInt32(e.CommandArgument);
        
int sch_id = Convert.ToInt32(SchoolView.DataKeys[rowIndex].Value);
        
if (Users.SetSchoolId(Convert.ToInt32(Session["UserID"]), sch_id))
        
{
            Session[
"S_ID"= sch_id;
            Response.Redirect(
"FindClass.aspx");
        }

        
else
        
{
            insertHint.InnerHtml
="<font color='red'>加入学校失败.请重试..</font>";
        }

    }

后台通过e.CimmandArgument获取参数 在此处为命令列所在的RowIndex值 根据此值获取主键参数 进行数据库操作
其实比较简单 只要设置好了参数就OK了.....

posted @ 2007-11-27 12:41  孤城浪子  阅读(1087)  评论(0编辑  收藏  举报
博客园,让我更上一层楼