2011-05-18 63 views
0

這個問題有點棘手,但無論如何它在這裏,所以我有一個三列的gridview其中兩個是布爾複選框。我想要做的是,當用戶在編輯/更新模式下點擊按鈕時,我想將這兩個框設置爲true或1.因此,我該怎麼做?幫助將非常感謝!提前致謝!Button在gridview中點擊以將複選框設置爲true

我在編輯模式下的代碼示例:

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
      AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="reservationid, bookid, EmployeeID" 
      DataSourceID="bookreservationDataSource"> 
      <Columns> 

       <asp:CommandField ButtonType="Button" ShowEditButton="True" 
        ShowSelectButton="true"/> 

       <asp:BoundField DataField="booktitle" HeaderText="Title" 
        ReadOnly="true" SortExpression="booktitle" /> 

       <asp:BoundField DataField="EmployeeID" HeaderText="Employee ID" 
        ReadOnly="true" SortExpression="EmployeeID" /> 

       <asp:BoundField DataField="reservedate" HeaderText="Reserve date" 
        SortExpression="reservedate" /> 

       <asp:CheckBoxField DataField="isapproved" HeaderText="Approved" 
        SortExpression="isapproved" /> 

       <asp:CheckBoxField DataField="isdeleted" HeaderText="Deleted" 
        SortExpression="isdeleted" /> 

      </Columns> 
     </asp:GridView> 

我要當像「編輯」按鈕被設置爲兩個複選框字段「isapproved」和「請將isDeleted」設置爲true。

+4

你想要做這在客戶端或服務器端? – 2011-05-18 11:56:11

+0

顯示你的代碼,你做了什麼。有太多的方法 – naveen 2011-05-18 12:01:30

+0

@Tim:是的,如果你可以請。我將添加源代碼。 – Loupi 2011-05-19 01:00:31

回答

1

你可以做到這一點像...

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) 
{ 
    if (e.CommandName == "Edit") 
    { 
     GridViewRow row = (GridViewRow)(((Button)e.CommandSource).NamingContainer); 
     ((CheckBox)row.FindControl("FirstCheckBox")).Checked = true; 
     ((CheckBox)row.FindControl("SecondCheckBox")).Checked = true; 
     GridView1.UpdateRow(row.RowIndex,true); 
    } 
} 
+0

先生,如果我可能問什麼是RowIndex的參考?我有一個錯誤:它說它不包含'RowIndex'的定義。 – Loupi 2011-05-19 00:37:44

+0

@Loupi;你可以刪除這行GridView1.UpdateRow(row.RowIndex,true);然後嘗試讓我知道。 – 2011-05-19 03:57:46

+0

謝謝,但它沒有將兩個複選框設置爲true,當我點擊編輯按鈕。我應該製作一個自定義編輯按鈕嗎? – Loupi 2011-05-19 05:05:49

相關問題