在Asp.Net Gridview中分割数据

时间:2010-08-09 20:06:08

标签: asp.net gridview

我有一组来自数据库(大约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>

先谢谢。

此致 阿赫亚

1 个答案:

答案 0 :(得分:1)

我根本不会使用GridView。 CheckboxList可以自动在两列中列出复选框。

<asp:CheckboxList runat="server" RepeatLayout="Table" RepeatColumns="2" RepeatDirection="Vertical" ... />

还有DataList支持相同的属性,但允许您为内容使用模板。