DataTable:根据复选框List中选中的复选框的数量动态创建行

问题描述 投票:0回答:1

我正在尝试创建一个DataTable,其行数需要根据我的复选框列表中选中的复选框的数量自动创建:

    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

我需要添加如下内容:

“对于在我的复选框列表中选中的每个复选框,会生成相应的行数。”

谢谢

datatable checkboxlist
1个回答
0
投票

我解决了以下代码:

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

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.