J'ai actuellement une GridView qui affiche les données d'une table des étudiants, voici ma Grid et la SQLDataSource associée;
<asp:GridView ID="GridView2"
style="position:absolute; top: 232px; left: 311px;"
AutoGenerateColumns="false" runat="server"
DataSourceID="SqlDataSource4">
<Columns>
<asp:TemplateField>
<ItemTemplate >
<asp:CheckBox runat="server" ID="AttendanceCheckBox" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="studentIDLabel" Text='<%# Eval("StudentID") %>' runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Name" HeaderText="Name" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource4" runat="server"
ConnectionString="<%$ ConnectionStrings:RegisterConnectionString %>"
SelectCommand="SELECT [StudentID], [Name] FROM [Student] WHERE CourseID = @CourseID ">
<SelectParameters>
<asp:ControlParameter ControlID="CourseDropDownList" Name="CourseID"
PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
J'ai un bouton sur la page qui, lorsque l'utilisateur clique sur le bouton, je dois parcourir chaque ligne du GridView, puis trouver la CheckBox, puis je dois vérifier si la case est cochée ou non. Si la case est cochée, je dois ajouter la valeur du champ Modèle d'étiquette à une autre table de la base de données. J'utilise du code C #. Toute aide est très appréciée, merci d'avance!
Boucle comme
foreach (GridViewRow row in grid.Rows)
{
if (((CheckBox)row.FindControl("chkboxid")).Checked)
{
//read the label
}
}
vous devez itérer les lignes gridview
for (int count = 0; count < grd.Rows.Count; count++)
{
if (((CheckBox)grd.Rows[count].FindControl("yourCheckboxID")).Checked)
{
((Label)grd.Rows[count].FindControl("labelID")).Text
}
}