也就是说,我这个下拉框显示的是:{"123","456","789"}而对应数据库中的值是{A,B,C}这样如何处理?
或者说如WEB中的<select name="test"><option value="A">123</option></select>这个控件,一个显示对应一个值,怎么完成呢?
如下:
初始化显示:
cmbScale_Type.Items.Clear()
cmbScale_Type.Items.Add("CAS PD-1")
cmbScale_Type.Items.Add("Magellan SL")
cmbScale_Type.Items.Add("NCR 7875")
cmbScale_Type.Items.Add("Metrologic MS2020")
cmbScale_Type.Items.Add("Weightronics NCI - 6720")
cmbScale_Type.SelectedIndex = 0
而我要的值是:{C,M,N,P,T}
8 个解决方案
#1
你可以声明一个结构体,包括有两个或更多的字段或属性,或类也行。比如:
public struct item
{
public string value;
public string Text;
public item(string v, string t)
{
this.value = v;
this.Text = t;
}
public override string ToString()
{
return this.Text;
}
}
然后使用comboBox.Items.Add(new item("1", "壹"))这样的语句添加。如下获取:
item _item = comboBox.Items[index] as item;
if (_item!=null)
{
Console.WriteLine(_item.Value);
Console.WriteLine(_item.Text);
}
public struct item
{
public string value;
public string Text;
public item(string v, string t)
{
this.value = v;
this.Text = t;
}
public override string ToString()
{
return this.Text;
}
}
然后使用comboBox.Items.Add(new item("1", "壹"))这样的语句添加。如下获取:
item _item = comboBox.Items[index] as item;
if (_item!=null)
{
Console.WriteLine(_item.Value);
Console.WriteLine(_item.Text);
}
#2
Public Class item
Public text As String
Public value As String
' Methods
Public Sub New(ByVal v As String, ByVal t As String)
Me.value = v
Me.text = t
End Sub
Public Overrides Function ToString() As String
Return Me.text
End Function
End Class
Dim _item As item = TryCast(combobox.Items.Item(combobox.SelectedIndex),item)
If (Not _item Is Nothing) Then
Console.WriteLine(_item.value)
Console.WriteLine(_item.text)
End If
#3
添加的时候这样用:
Me.comboBox.Items.Add(new item("1", "壹"))
#4
cboCtrl.Items.Add("1",rstTemp.Item(1))
cboCtrl.Items.Add("2",rstTemp.Item(2))
#5
晕了,太麻烦了,我想用二维数组完成,可以在VB.NET下面二维数组赋值怎么做?
如C:
C语言中a[i][j]={{....},{...},{...}}的形式,在VB中应该怎么写?
如C:
C语言中a[i][j]={{....},{...},{...}}的形式,在VB中应该怎么写?
#6
四楼的好象不行,我的Items.Add()里面只能放一个参数呢!!!
#7
因为combobox.Items是一个Object类型的集合,所以你可以放入任何类型的对象在里面,文本显示的是对象的ToString的结果。当然你可以用其它的方法。
声明VB的二维数组可以如下:
声明VB的二维数组可以如下:
Dim weights(,) As Object = New Object(,) {{"CAS PD-1", 1}, {"Magellan SL", 2}, {"NCR 7875", 3}, {"Metrologic MS2020", 4}{"Weightronics NCI - 6720", 5}}
#8
对不起,我刚才写错了
cboCtrl.Items.Add(new item("1",rstTemp.Item(1)))
cboCtrl.Items.Add(new item("2",rstTemp.Item(2)))
cboCtrl.Items.Add(new item("1",rstTemp.Item(1)))
cboCtrl.Items.Add(new item("2",rstTemp.Item(2)))
#1
你可以声明一个结构体,包括有两个或更多的字段或属性,或类也行。比如:
public struct item
{
public string value;
public string Text;
public item(string v, string t)
{
this.value = v;
this.Text = t;
}
public override string ToString()
{
return this.Text;
}
}
然后使用comboBox.Items.Add(new item("1", "壹"))这样的语句添加。如下获取:
item _item = comboBox.Items[index] as item;
if (_item!=null)
{
Console.WriteLine(_item.Value);
Console.WriteLine(_item.Text);
}
public struct item
{
public string value;
public string Text;
public item(string v, string t)
{
this.value = v;
this.Text = t;
}
public override string ToString()
{
return this.Text;
}
}
然后使用comboBox.Items.Add(new item("1", "壹"))这样的语句添加。如下获取:
item _item = comboBox.Items[index] as item;
if (_item!=null)
{
Console.WriteLine(_item.Value);
Console.WriteLine(_item.Text);
}
#2
Public Class item
Public text As String
Public value As String
' Methods
Public Sub New(ByVal v As String, ByVal t As String)
Me.value = v
Me.text = t
End Sub
Public Overrides Function ToString() As String
Return Me.text
End Function
End Class
Dim _item As item = TryCast(combobox.Items.Item(combobox.SelectedIndex),item)
If (Not _item Is Nothing) Then
Console.WriteLine(_item.value)
Console.WriteLine(_item.text)
End If
#3
添加的时候这样用:
Me.comboBox.Items.Add(new item("1", "壹"))
#4
cboCtrl.Items.Add("1",rstTemp.Item(1))
cboCtrl.Items.Add("2",rstTemp.Item(2))
#5
晕了,太麻烦了,我想用二维数组完成,可以在VB.NET下面二维数组赋值怎么做?
如C:
C语言中a[i][j]={{....},{...},{...}}的形式,在VB中应该怎么写?
如C:
C语言中a[i][j]={{....},{...},{...}}的形式,在VB中应该怎么写?
#6
四楼的好象不行,我的Items.Add()里面只能放一个参数呢!!!
#7
因为combobox.Items是一个Object类型的集合,所以你可以放入任何类型的对象在里面,文本显示的是对象的ToString的结果。当然你可以用其它的方法。
声明VB的二维数组可以如下:
声明VB的二维数组可以如下:
Dim weights(,) As Object = New Object(,) {{"CAS PD-1", 1}, {"Magellan SL", 2}, {"NCR 7875", 3}, {"Metrologic MS2020", 4}{"Weightronics NCI - 6720", 5}}
#8
对不起,我刚才写错了
cboCtrl.Items.Add(new item("1",rstTemp.Item(1)))
cboCtrl.Items.Add(new item("2",rstTemp.Item(2)))
cboCtrl.Items.Add(new item("1",rstTemp.Item(1)))
cboCtrl.Items.Add(new item("2",rstTemp.Item(2)))