• 关于ListBox绑定到自定义对象


    总结关键点:

    1. ListBox的TextMember与ValueMember必需是属性

    2.绑定对象必需继承IList

    3. 绑定辅助用这个 private CurrencyManager currencyManager=null;

    绑定方法用这个currencyManager = (CurrencyManager)dataGrid1.BindingContext[al];
    4.一定要设DataSource属性
    5.对象内容发生变化后,要及时刷新 currencyManager.Refresh();

     

     

     

    转个链接: http://support.microsoft.com/kb/316303/zh-cn

    分步示例

    1. 在 Visual C#.net 或 Visual C# 2005年中创建新的 Windows 应用程序项目。默认情况下创建 Form1。
    2. 将类添加到项目中。
    3. 用下列替换代码中 Class1.cs:
      public class guitar
      {
      	private string make;
      	private string model;
      	private short year;
      	
      	public guitar()
      	{
      	}
      
      	public guitar(string Make, string Model, short Year)
      	{
      	    make=Make;
      	    model=Model;
      	    year=Year;
      	}
      
      	public string Make 
      	{
      		get 
      		{ 
      			return make; 
      		}
      		set 
      		{
      			make = value; 
      		}
      	}
      	
      	public string Model 
      	{
      		get 
      		{ 
      			return model; 
      		}
      		set 
      		{
      			model = value; 
      		}
      	}
      
      	public short Year 
      	{
      		get 
      		{ 
      			return year; 
      		}
      		set 
      		{
      			year = value; 
      		}
      	}
      }
      					
    4. 关闭 Class1.cs 代码窗口,然后切换到窗体设计器。
    5. 向 Form1 中添加一个 DataGrid 控件。调整大小以适应三个行和四个列将 DataGrid 控件。
    6. 将四个 按钮 控件添加到 Form1,然后横向排列按钮。
    7. 下一处 更改 Button1 文本 属性。
    8. 更改到 前一节 的 Button2 文本 属性。
    9. 更改为 第一个 Button3 的 Text 属性。
    10. 上次 更改 Button4 的 Text 属性。
    11. 下面的代码添加到 Form1 类:
      private ArrayList al = new ArrayList();	
      private CurrencyManager currencyManager=null;	
      					
    12. 切换到窗体设计器,用鼠标右键单击该的表单,然后单击 属性
    13. 单击 事件 图标,然后双击 Load 事件将 Form1_Load 事件添加到您的代码。
    14. 将以下代码粘贴到 Form1_Load 事件中:
      al.Add (new guitar("Gibson", "Les Paul", 1958));
      al.Add (new guitar("Fender", "Jazz Bass", 1964));
      al.Add (new guitar("Guild", "Bluesbird", 1971));
      				
      currencyManager = (CurrencyManager)dataGrid1.BindingContext[al];
      	
      dataGrid1.DataSource=al;
      					
    15. 若要查看窗体设计器的开关。
    16. 双击 $ 下一步,然后将下面的代码添加到 button1_Click 事件:
      currencyManager.Position++;
      					
    17. 双击 上一步 中,然后将下面的代码添加到 button2_Click 事件:
      currencyManager.Position--;
      					
    18. 双击 第一个,然后将下面的代码添加到 button3_Click 事件:
      currencyManager.Position = 0;
      					
    19. 双击 最近,然后将下面的代码添加到 button4_Click 事件:
      currencyManager.Position = al.Count - 1;
      					
    20. 生成并运行该项目。
    21. 单击命令按钮以在 DataGrid 控件中的行之间移动。注意是否需要您可以编辑该对象的值。

     

  • 相关阅读:
    Backbone.js 1.0.0源码架构分析(一)
    汤姆大叔的博客(深入理解JavaScript系列(2):揭秘命名函数表达式)
    求职之路(拿到百度、美团、趋势科技、华为offer)
    请大家注意这个网站www.haogongju.net
    后缀数组求最长重复子串
    2015阿里在线笔试题求两个字符串的最长子串
    剑指offer42:翻转单词顺序 VS 左旋转字符串(更高效、简便的解法)
    求和为s的连续正数序列
    数组中的逆序对
    求一串字符串的全排列和所有组合
  • 原文地址:https://www.cnblogs.com/sasbya/p/2000435.html
Copyright © 2020-2023  润新知