我想在GRIDDATA中添加一个按钮。 比如BOOK表 字段ISCHECKED 的值为1 就显示 取消审核
   如果为0就显示审核 点了改按钮后,如果值为1就执行SQL让数据变为0
  否者就让数据变为1请各位高人赐教~本人刚学习.NET很菜,希望各位大哥把代码写详细点,最好有注释

解决方案 »

  1.   

    自己解决
    <body>
        <form id="form1" runat="server">
        <div align="center">
            <asp:GridView ID="GridView1" AutoGenerateColumns="false" runat="server" OnRowCommand="GridView1_RowCommand">
              <Columns>
                <asp:BoundField DataField="BookId" HeaderText="BookId" />
                <asp:BoundField DataField="BookName" HeaderText="BookName" />
                <asp:BoundField DataField="IsChecked" HeaderText="IsChecked" />
                <asp:TemplateField HeaderText="Check">
                  <ItemTemplate>                              
                    <asp:Button ID="Check" CommandArgument=<%#Eval("BookId")%> CommandName="Check" Width="60" runat="server" Text=<%#Eval("IsChecked").ToString()=="1"?"审核":"取消审核"%> >
                    </asp:Button>
                  </ItemTemplate>
                </asp:TemplateField>
            </Columns>
            </asp:GridView>
        </div>
        </form>
    </body>codeprivate string strConn = "server=.\\SQL2005;database=student;Integrated Security=SSPI";
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlConnection conn = new SqlConnection ( strConn );
            string sql = "SELECT * FROM Book";
            SqlDataAdapter da = new SqlDataAdapter ( sql, conn );
            DataSet ds = new DataSet ();
            da.Fill ( ds, "Book" );
            if ( !IsPostBack )
            {
                this.GridView1.DataSource = ds.Tables [ "Book" ];
                this.GridView1.DataBind ();
            }
        }    protected void GridView1_RowCommand ( object sender, GridViewCommandEventArgs e )
        {
            if(e.CommandName=="Check")
            {
                string key = e.CommandArgument.ToString();
                string deleteSql = "Update Book Set IsChecked=1 Where BookId=" + key;
                SqlConnection conn = new SqlConnection ( strConn );
                SqlCommand command = new SqlCommand ( deleteSql, conn );
                conn.Open ();
                command.ExecuteNonQuery ();
                conn.Close ();
            }
        }