我有一组来自数据库(大约36条记录)的选项(选项),我必须以这样的方式插入Gridview,其中18将是一列而18则是另一列。由于这些是选择,因此列必须是复选框列。所以我所做的是我创建了一个包含2列的数据表并相应地拆分数据,然后将其绑定到网格。但问题是如果问题列表中有奇数个项目计数,即37.它添加了一个空白记录我的gridview中的复选框。我们将非常感谢您的帮助...... 见下面的代码 在我的Aspx.cs
中 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>
先谢谢。
此致 阿赫亚
答案 0 :(得分:1)
我根本不会使用GridView。 CheckboxList可以自动在两列中列出复选框。
<asp:CheckboxList runat="server" RepeatLayout="Table" RepeatColumns="2" RepeatDirection="Vertical" ... />
还有DataList支持相同的属性,但允许您为内容使用模板。