Case Gridview d'Activer et de Désactiver
J'ai un gridview où les cases à cocher démarrer désactivé. Je veux l'activer quand je clique sur le bouton modifier qui est aussi dans le contrôle gridview. Voici le balisage
<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 puis voici le code que je suis en train d'utiliser. En gros, quand j'appuie sur le bouton modifier, je veux les cases elles-mêmes à être activé. Pour quelque raison que ce soit, la case à cocher n'est pas activée lorsque le chargement de la page de retour. J'ai juste commencé à essayer d'activer l'option "Checkbox1" après le bouton modifier est cliqué, mais finalement souhaitez permettre à tous 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;
}
}
Ce qui se passe avec le code que vous utilisez?
N'est-ce pas de code à activer la case à cocher? Pourriez-vous être plus clair sur la question.
et quelle est la question? ce qui ne fonctionne pas? si vous déboguez, avez-vous réussi à atteindre cette ligne de code: Case chk = (Case à cocher)ligne.FindControl("CheckBox1"); ?
Désolé, j'ai fait une petite modif pour la question. Davide, j'aurai passé cette ligne de code ne pose aucun problème et il n'y a pas d'erreurs lors de la compilation. Le problème est que la case à cocher n'est pas activée lorsque la page est actualisée.
N'est-ce pas de code à activer la case à cocher? Pourriez-vous être plus clair sur la question.
et quelle est la question? ce qui ne fonctionne pas? si vous déboguez, avez-vous réussi à atteindre cette ligne de code: Case chk = (Case à cocher)ligne.FindControl("CheckBox1"); ?
Désolé, j'ai fait une petite modif pour la question. Davide, j'aurai passé cette ligne de code ne pose aucun problème et il n'y a pas d'erreurs lors de la compilation. Le problème est que la case à cocher n'est pas activée lorsque la page est actualisée.
OriginalL'auteur Jeffrey Easley | 2011-09-09
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez que le contrôle d'Édition est différent de celui de la norme de contrôle, vous devez utiliser le "EditItemTemplate". Cela permettra de modifier la ligne pour que les différents contrôles, les valeurs, etc... lorsque la ligne de changement de mode.
Exemple:
n'oubliez pas de marquer ce que la réponse si cela résout votre problème!
merci beaucoup!! J'ai été la recherche de ce depuis des siècles maintenant, gardé simple et sympathique!
OriginalL'auteur Zachary
Je pense que l'on peut parcourir toutes les lignes de la GridView et activez les cases à cocher quelque chose comme ci-dessous:
Espérons que cette aide!!
OriginalL'auteur Praveen