2011-11-14 45 views
1

我有一個gridview,其中有一列作爲asp複選框控件,我希望用戶可以選中一個複選框並單擊編輯按鈕以編輯該特定行在gridview中只選擇一個複選框並編輯選中的行

我對這個代碼是

    <asp:GridView runat="server" CssClass="width" ID="gvGrades" AutoGenerateColumns="false" ShowHeader="true" OnRowCancelingEdit="gvGrades_RowCancelingEdit"       OnRowCommand="gvGrades_RowCommand" OnRowDataBound="gvGrades_RowDataBound" OnRowEditing="gvGrades_RowEditing"        OnRowUpdated="gvGrades_RowUpdated" OnRowUpdating="gvGrades_RowUpdating" OnRowDeleting="gvGrades_RowDeleting"> 
          <Columns> 
           <asp:TemplateField> 
            <HeaderTemplate> 
             Select 

            </HeaderTemplate> 
            <ItemTemplate> 
             <asp:CheckBox ID="chkSelect" class="asp" runat="server" /> 

             <asp:Label ID="lblId" runat="server" Text='<%# Bind("id") %>' Visible="false"></asp:Label> 
            </ItemTemplate> 
           </asp:TemplateField> 
           <asp:TemplateField> 
            <HeaderTemplate> 
             Grade Name 
            </HeaderTemplate> 
            <ItemTemplate> 
             <asp:Label ID="lblName" runat="server" Text='<%# Bind("grade_name") %>'></asp:Label> 
            </ItemTemplate> 

           </asp:TemplateField> 
           <asp:TemplateField> 
            <HeaderTemplate> 
             Organization Name 
            </HeaderTemplate> 
            <ItemTemplate> 
             <asp:Label ID="lblOrganizationName" runat="server" Text='<%# Bind("organization_name") %>'></asp:Label> 
            </ItemTemplate> 
           </asp:TemplateField> 
           <asp:TemplateField> 
            <HeaderTemplate> 
             Minimum Basic Salary 
            </HeaderTemplate> 
            <ItemTemplate> 
             <asp:Label ID="lblSalary" runat="server" Text='<%# Bind("min_basic_salary") %>'></asp:Label> 
            </ItemTemplate> 

           </asp:TemplateField> 
           <asp:TemplateField> 
            <ItemTemplate> 
             <asp:LinkButton runat="server" ID="lnkDelete" CommandName="Delete" Text="Delete"></asp:LinkButton> 
            </ItemTemplate> 
           </asp:TemplateField> 
           <asp:TemplateField> 
            <ItemTemplate> 
             <asp:LinkButton runat="server" ID="lnkEdit" CommandName="Edit" Text="Edit"></asp:LinkButton> 
            </ItemTemplate> 

           </asp:TemplateField> 
          </Columns> 
         </asp:GridView> 
        </fieldset> 
       </ContentTemplate> 
      </asp:UpdatePanel> 
      <asp:Button Text="Add" Width="70px" ID="btnAdd" runat="server" OnClick="btnAdd_Click" />&nbsp;&nbsp; 
      <asp:Button Text="Edit" ID="btnEdit" Width="70px" runat="server" OnClick="btnEdit_Click" 
       /> 

請爲編輯按鈕,點擊還提供代碼

感謝

+2

40%??????????? –

+0

你到目前爲止嘗試過什麼?如果您自己付出了一些努力,我們將幫助您解決問題。我們不在這裏爲你做你的工作。 – Becuzz

+0

我有一個回發代碼,但我想通過jquery或javascript來完成 –

回答

1

使用可以使用GridView.SelectedIndexChanged事件。

你可能會做這樣的事情

<asp:TemplateField > 
      <ItemTemplate>  
       <asp:CheckBox ID="chb1" AutoPostBack="true" runat="server" /> 
      </ItemTemplate> 
</asp:TemplateField> 

,你可以設置編輯田間enable=false和回傳你可以設置enable=true

protected void GVSelectedIndexChanged(object sender, GridViewRowEventArgs e) 
{ 
      var check = (CheckBox) e.Row.FindControl("chb1"); 
      if(check != null) 
      { 
        // do something 
      } 
} 
0

按照下面的步驟,而不回發使編輯按鈕[使用javascript]

  1. 註冊Gridview的OnRowDataBound事件。

  2. 找到複選框,並用項目索引[在Onrowbound事件]

  3. 發現複選框後編輯按鈕,註冊JavaScript函數onchange事件與參數[的編輯按鈕ID]

  4. 然後你會得到在javascript中的編輯按鈕

  5. 將JavaScript啓用代碼。

讓我知道你是否有任何問題或疑問。

相關問題