2012-02-08 12 views
2

私は、共通のフィールドオブジェクトを持っている:どのようにして共通オブジェクトバインディングをwinformsで使用しますか?

public class Field 
{ 
    public string Name { get; set; } 
    public string oldName { get; set; } 

    private object _Value = null; 
    public object Value 
    { 
     get 
     { 
      return _Value; 
     } 
     set 
     { 
      _Value = value; 
     } 
    } 

    private FieldType _fieldType = FieldType.Normal; 
    public FieldType FieldType 
    { 
     get 
     { 
      return _fieldType; 
     } 
     set 
     { 
      _fieldType = value; 
     } 
    } 
    private bool _isKey = false; 
    public bool IsKey 
    { 
     get 
     { 
      return _isKey; 
     } 
     set 
     { 
      _isKey = value; 
     } 
    } 
} 

共通レコードオブジェクト:データベースから

public class Record 
{ 
    public string TableName{get;set;} 
    pubilc FieldCollection _fieldcollection = new FieldCollection(); 
    public FieldCollection FieldCollection 
    { 
     get 
     { 
      return _fieldcollection; 
     } 
     set 
     { 
       _fieldcollection = value; 
     } 
    } 
} 

データは、レコードオブジェクトに変換するために、そして私は、コントロールにレコードデータをバインドしたいですしかし、それは動作していません。 私は私のようなデータをバインドする方法を知りたい:

textBox1.DataBindings.Add("Text", listBox1.DataSource , "BarDesc"); 

答えて

0

を、私はあなたがデザイン時にあなたのWinフォームへのBindingSourceコントロールをドラッグアンドドロップしたいと思います。

はのBindingSourceのDataSourceプロパティ>オブジェクト> Recordクラスを設定します。次に、BindingSourceのDataMemberを設定します。

あなたのコントロールを選択します(たとえば、テキストボックス)とのBindingSourceコントロールのデータメンバーにそのデータバインディングプロパティを設定します。

HTHでは、少なくとも正しい方向を指しているはずです。

+0

3kuですが、Record.FieldCollection [i] .FieldName!の実フィールド名です。 DataMemberをバインドするにはどうすればよいですか? public Binding(string propertyName、Object dataSource、string dataMember) – MarcoRui

+0

私にとって今の自宅の時間ですが、他に誰もジャンプしない場合のより良い答えです:http://www.codeproject .com/Articles/15596/BindingSource-and-BindingNavigator-in-C-2-0 –

関連する問題