Разделение данных в Asp.Net Gridview - PullRequest
0 голосов
/ 10 августа 2010

У меня есть набор вариантов (опций), поступающих из базы данных (около 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 Ответ

1 голос
/ 10 августа 2010

Я бы не стал использовать GridView для этого вообще. CheckboxList может автоматически устанавливать флажки в двух столбцах.

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

Существует также DataList , который поддерживает те же свойства, но позволяет использовать шаблон для содержимого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...