我在如何编写代码方面遇到了麻烦。首先,我需要为列表中的每个项目分配一个值(1
表示第一个项目,2
表示第二个项目,依此类推)。除文本外,此控件是否具有单独的值字段?
其次,我需要以这种格式将其插入我的数据库(MSSQL 2008):
insert into table values(ID,
selectedvaluegoeshere
)
有人可以指导我如何实现这一目标。
答案 0 :(得分:1)
执行此操作的理想方法是使用枚举值填充Checked组合框,这样可以保证列表中的项与其值的关联。要将Enum转换为人性化的格式,您可以执行以下操作。
Imports System.ComponentModel
Imports System.Reflection
Public Enum ePregnancyCode
<Description("Not Specified")> _
NotSpecified
<Description("Not Pregnant")> _
NotPregnant
<Description("Pregnant")> _
Pregnant
End Enum
然后使用此代码检索Description
字段
Public Function GetDescription(ByVal EnumConstant As [Enum]) As String
Dim fi As FieldInfo = EnumConstant.GetType().GetField(EnumConstant.ToString())
Dim aattr() As DescriptionAttribute = _
DirectCast( _
fi.GetCustomAttributes(GetType(DescriptionAttribute), False), _
DescriptionAttribute() _
)
Return If(aattr.Length > 0, aattr(0).Description, EnumConstant.ToString())
End Function
现在考虑一下,你可能最好在你的组合选择中使用查找编辑。然后,当您要插入数据库时,您可以从Control中检索所选的项目集合。