【发布时间】:2018-06-06 22:30:14
【问题描述】:
在我的应用程序中,用户可以根据公司的兴趣从数据表中选择不同的选项。因此,复选框列表从名为 SEL_Dewey_Subcat_Raw 的存储过程中填充,该存储过程将 ID 值和名称打印到复选框列表。这没关系,并且工作正常。
但现在我需要用户能够编辑他们之前选择的内容。所以我需要根据他们之前选择的内容填充复选框列表,如果在必须选择特定项目之前选择了类别。
填充 CBL 的代码:
SELECT * FROM [dbo].[Dewey_Subcat] ORDER BY[dbo].[Dewey_Subcat].[Nombre] ASC
此信息存储在名为 [dbo].[Proveedores_Dewey] 的数据表中,它具有以下列:
- ID(PK 整数)
- Id_Proveedor (int),客户端的ID
- Id_Dewey_Subcat (int),类别的ID
因此,例如,如果选中了一个复选框项目,则存储的数据将是:
ID:1 Id_Proveedor:24(客户 ID) Id_Dewey_Subcat:38(类别)
这是迄今为止我为编辑面板复选框列表编写的代码,但它不起作用!
For Each li As ListItem In Dewey_RBL.Items
Dim SqlConDeweyCBL As SqlConnection
Dim SqlComDeweyCBL As SqlCommand
Dim SqlDRDeweyCBL As SqlDataReader
SqlConDeweyCBL = New SqlConnection(ConfigurationManager.ConnectionStrings("EnchufeBBMCA").ToString())
SqlComDeweyCBL = New SqlCommand("SELECT [dbo].[Proveedores_Dewey].[Id_Dewey_Subcat] FROM [dbo].[Proveedores_Dewey] WHERE([dbo].[Proveedores_Dewey].[IdProveedor] = '" & empresaId & "')", SqlConDeweyCBL)
If SqlConDeweyCBL.State = ConnectionState.Closed Then
SqlConDeweyCBL.Open()
End If
SqlDRDeweyCBL = SqlComDeweyCBL.ExecuteReader()
While SqlDRDeweyCBL.Read()
If SqlDRDeweyCBL("Id_Dewey_Subcat") = li.Value Then
li.Selected = True
Else
li.Selected = False
End If
End While
SqlDRDeweyCBL.Close()
SqlConDeweyCBL.Close()
Next
那么如何检查存储在 [dbo].[Proveedores_Dewey] 中的复选框列表中的项目,而其他项目不选中?
谢谢!
【问题讨论】:
标签: sql asp.net sql-server checkbox