DataTable: динамически создавать строки в соответствии с количеством флажков, выбранных в списке флажков. - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь создать таблицу данных, число строк которой необходимо создать автоматически в соответствии с количеством флажков, отмеченных в моем списке флажков:

    Private Function GetRoomTypeIds() As DataTable

Dim dt As New DataTable()
    dt.Columns.AddRange(New DataColumn(1) {New DataColumn("Id", GetType(Integer)), New DataColumn("RoomTypeId", GetType(Integer))})
    dt.Rows.Add(txtId1.Text, chkRoomTypes.SelectedValue)
    Return dt

    End Function

Мне нужно добавить что-то вроде:

"Для каждого флажка, отмеченного в моем списке флажков, создается соответствующее количество строк."

Спасибо

1 Ответ

0 голосов
/ 19 марта 2019

Я решил согласно приведенному ниже коду:

Private Function GetRoomTypeIds() As DataTable
        Dim selectedItems = From s In chkRoomTypes.Items.Cast(Of ListItem)
                            Where s.Selected
                            Select s
        Dim itemTable As DataTable
        itemTable = New DataTable("SelectedItems")
        Dim column1 As DataColumn = New DataColumn("RateTypeId")
        column1.DataType = System.Type.GetType("System.Int32")
        Dim column2 As DataColumn = New DataColumn("RoomTypeId")
        column2.DataType = System.Type.GetType("System.Int32")
        itemTable.Columns.Add(column1)
        itemTable.Columns.Add(column2)
        Dim Row As DataRow
        For Each item In selectedItems
            Row = itemTable.NewRow()
            Row("RateTypeId") = Convert.ToInt32(txtId1.Text)
            Row("RoomTypeId") = item.Value
            itemTable.Rows.Add(Row)
        Next

        Return itemTable
    End Function

Спасибо

...