您的位置:首页 > 编程语言 > C#

【原创】C#实现列表绑定

2010-04-30 14:59 169 查看
简述:我在开发中有时候会遇到这样的问题,如:我有这样一张笔记本品牌表

分类ID

分类名称

1001

宏基

1002

联想

1003

华硕

1004

惠普

现在我需要把这些产品显示给用户,让用户做某种或多种选择,而我在用户做出选择之后,我需要获得的只是用户选择产品所对应的产品ID,客户并不知道他所选择的产品ID。在web开发方面似乎很多的列表控件都已经提供了很好的支持,如CheckBoxList, RadioButtonList, DropDownList等web控件都提供了两个属性(Value和Text),Value可以用户存放产品ID,Text可以存放产品名称,显示给用户。但是在Winform开发中,这样一些列表控件却不像Web中那么方便,如ComboBox和CheckedListBox列表控件,它们只提供了绑定一个object对象。我需要实现类似web的那个功能,我该怎么做呢?描述的有点郁闷,语言表述能力有待大大加强。下面来看举例说明:

首先定义一个笔记本品牌结构,用于存放笔记本品牌ID和品牌名称。

/// <summary>

/// 笔记本类型

/// </summary>

/// <typeparam>Value值类型</typeparam>

/// <typeparam>Text值类型</typeparam>

public struct ComputerType<T, K>

{

private T m_value;

/// <summary>

/// Value值

/// </summary>

public T Value

{

get { return m_value; }

set { m_value = value; }

}

private K m_text;

/// <summary>

/// Text值

/// </summary>

public K Text

{

get { return m_text; }

set { m_text = value; }

}

public override string ToString()

{

return m_text.ToString();

}

}

注意:需要重写该ToString()

2.在品牌表中绑定即可,代码如下:

ComputerType <int, string> computerType

foreach (string strType in typeArray)

{

computerType = new PacketType<int, string>();

computerType.Value = “品牌名称”;

computerType.Text = “品牌ID”

comboBox1.Items.Add(computerType);

}

PS:在这里利用绑定对象的话,就变得非常灵活了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: