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


    简述:我在开发中有时候会遇到这样的问题,如:我有这样一张笔记本品牌表

    分类ID

    分类名称

    1001

    宏基

    1002

    联想

    1003

    华硕

    1004

    惠普

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

    1. 首先定义一个笔记本品牌结构,用于存放笔记本品牌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:在这里利用绑定对象的话,就变得非常灵活了。

  • 相关阅读:
    JS中原型链的理解
    CSS3的笔记总结
    那些牛掰的 HTML5的API(二)
    初识 HTML5(一)
    jQuery基础知识点(下)
    jQuery基础知识点(DOM操作)
    jQuery基础知识点(上)
    [译]GC专家系列2:Java 垃圾回收的监控
    [译]GC专家系列1: 理解Java垃圾回收
    [译]深入理解JVM
  • 原文地址:https://www.cnblogs.com/zwffff/p/1725089.html
Copyright © 2020-2023  润新知