J'ai un gridview où les cases à cocher commencent désactivé. Je veux les activer quand je clique sur le bouton d'édition qui est également dans la grille. Voici le balisageCheckBox Gridview Activer et désactiver
<asp:GridView ID="grd_Bookcode" runat="server" DataSourceID="sqldatasource1"
autogeneratecolumns="False" onrowcommand="grd_Bookcode_RowCommand1"
onrowdatabound="grd_Bookcode_RowDataBound">
<Columns>
<asp:BoundField DataField="BookCode" HeaderText="Book Code"/>
<asp:BoundField DataField="mag_name" HeaderText="Name"/>
<asp:BoundField DataField="display_date" HeaderText="Display Date"/>
<asp:TemplateField HeaderText = "PC">
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Eval("82_PC").ToString() == "1" ? true:false %>' Enabled="false" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="eReader">
<ItemTemplate>
<asp:CheckBox ID="CheckBox2" runat="server" Checked='<%# Eval("83_eReader").ToString() == "1" ? true:false %>' Enabled="false" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Tablet">
<ItemTemplate>
<asp:CheckBox ID="CheckBox3" runat="server" Checked='<%# Eval("84_Tablet").ToString() == "1" ? true:false %>' Enabled="false"/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Mobile">
<ItemTemplate>
<asp:CheckBox ID="CheckBox4" runat="server" Checked='<%# Eval("85_Mobile").ToString() == "1" ? true:false %>' Enabled="false" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="None">
<ItemTemplate>
<asp:CheckBox ID="CheckBox5" runat="server" Checked='<%# Eval("86_None").ToString() == "1" ? true:false %>' Enabled="false" />
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowEditButton="True" />
</Columns>
Et voici le code que je suis en train d'utiliser. Fondamentalement, lorsque je clique sur le bouton d'édition, je veux que les cases à cocher soient activées. Pour quelque raison que ce soit, la case à cocher n'est pas activée du tout lorsque la page est rechargée. J'ai juste commencé à essayer d'activer "Checkbox1" après avoir cliqué sur le bouton d'édition, mais je veux finalement activer les 5 cases à cocher.
protected void grd_Bookcode_RowCommand1(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Edit")
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow row = grd_Bookcode.Rows[index];
CheckBox chk = (CheckBox)row.FindControl("CheckBox1");
chk.Enabled = true;
}
}
Qu'est-ce qui se passe avec le code que vous utilisez? –
Ce code n'active-t-il pas la case à cocher? Pourriez-vous être plus clair sur la question? – Praveen
et quelle est la question? qu'est-ce qui ne fonctionne pas? Si vous déboguez, réussissez-vous à atteindre cette ligne de code: CheckBox chk = (CheckBox) row.FindControl ("CheckBox1"); ? –