J'ai un ensemble de choix (options) provenant de la base de données (environ 36 enregistrements) que je dois insérer dans Gridview de sorte que 18 ira une colonne et 18 dans une autre. Et comme ce sont des choix, les colonnes doivent être des colonnes de case à cocher. Donc ce que j'ai fait est que j'ai créé une table de données avec 2 colonnes et diviser les données en conséquence, puis le lier à la grille.Mais le problème est Si la liste des questions a un nombre impair d'éléments compte 37. Il est en blanc enregistrer avec la case à cocher dans mon gridview. Votre aide sera appréciée ... voir le code ci-dessous Dans mon aspx.csDiviser les données dans Asp.Net Gridview
DataTable dTable = new DataTable();
dTable.Columns.Add("Questionsclmn1", typeof(string));
dTable.Columns.Add("Questionsclmn2", typeof(string));
for (int item = 0; item < QuestionList.Count; item = item + 2)
{
DataRow drow = dTable.NewRow();
drow["Questionsclmn1"] = QuestionList[item].Question;
if ((item + 1) < QuestionList.Count)
drow["Questionsclmn2"] = QuestionList[item + 1].Question;
dTable.Rows.Add(drow);
}
GrdVwQuestionsList.DataSource = dTable;
GrdVwQuestionsList.DataBind();
In my Aspx file under gridview
<Columns>
<asp:TemplateField HeaderText="Please Choose the Options Below">
<ItemTemplate>
<asp:CheckBox ID="chkQuestionList1" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem, "Questionsclmn1")%>'/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chkQuestionList2" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem, "Questionsclmn2")%>'/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
Merci à l'avance.
Cordialement, Chetan
Salut Merci Matti, j'essayais la liste de cases à cocher mais je ne savais pas que je pouvais utiliser la propriété repeatcolumn ... Merci pour votre aide ... C'est parfait ... – Chetan