![](/img/trans.png)
[英]GridView Row Does not get select or Affected When Checkbox checked on Grid
[英]select only one checkbox in gridview and edit that checked row
我有一個gridview,其中有一列作為asp復選框控件,我希望用戶可以選中一個復選框,然后單擊“編輯”按鈕以編輯該垂直行
我的代碼是
<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" />
<asp:Button Text="Edit" ID="btnEdit" Width="70px" runat="server" OnClick="btnEdit_Click"
/>
請同時提供代碼以供編輯按鈕點擊
謝謝
使用可以使用GridView.SelectedIndexChanged事件。
你可能會做這樣的事情
<asp:TemplateField >
<ItemTemplate>
<asp:CheckBox ID="chb1" AutoPostBack="true" runat="server" />
</ItemTemplate>
</asp:TemplateField>
您可以設置edit fied enable=false
,在回發中可以設置enable=true
protected void GVSelectedIndexChanged(object sender, GridViewRowEventArgs e)
{
var check = (CheckBox) e.Row.FindControl("chb1");
if(check != null)
{
// do something
}
}
請按照以下步驟啟用編輯按鈕,而無需回發[使用javascript]
注冊Gridview的OnRowDataBound事件。
使用[在Onrowbound事件中] itemindex查找復選框和“編輯”按鈕
找到復選框后,使用[編輯按鈕ID]的參數注冊javascript函數onchange事件
然后,您將在javascript中獲得“編輯”按鈕
放入javascript啟用代碼。
讓我知道您是否有任何問題或疑問。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.