Visual C を使用して、DataGrid コントロールをオブジェクトまたは構造体の ArrayList に連結する方法です。NET または Visual C 2005

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:816164
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。

マイクロソフトの Visual Basic では。このバージョン記事は、 316302.

マイクロソフト ビジュアルを C#。このバージョン記事は、 316303.

このタスクで

概要
この資料でにバインドする方法について説明します、 ArrayList クラスのオブジェクトには、 データ グリッド コントロールです。この例を含む Windows フォームを使用します。 データ グリッド オブジェクトのプロパティを表示するのには、コントロールの値し、4 つのコマンドが含まれています。行を参照するためのボタンが データ グリッド コントロールです。
には、トップ

要件

これ資料では、次のトピックに精通している想定しています。
  • Visual C.NET または Visual C 2005 のプログラミングに関する概念
次の一覧は、推奨されるハードウェア、ソフトウェアです、ネットワーク インフラストラクチャ、および必要な service pack:
  • Microsoft Visual の C++。NET または Microsoft Visual C 2005
先頭に戻る

クラスのデザイン

クラスにコントロールをバインドするには、クラスにプロパティが必要アクセサー。任意のプロパティをバインドする必要があります、 取得メソッド 関数とは 設定メソッド 関数です。使用して、プロパティの実装は、 取得メソッド 関数とは 設定メソッド 関数は、コンパイラこれらプロパティであることを通知します。機能の使用、 _ _property キーワードです。この資料で使用されるサンプル クラスには 3 つのメンバーがあります。
__gc class Guitar{private:        String *make;        String *model;        short year;public:    Guitar(void);    ~Guitar(void);                Guitar(String *strMake, String *strModel, short shYear)        {            make = strMake;            model = strModel;            year = shYear;        }        __property String* get_Make()         {            return make;         }        __property void set_Make(String* val)        {            make = (val);         }        __property String* get_Model()        {             return model;         }        __property void set_Model(String* val)        {            model = (val);         }        __property short get_Year()        {             return year;         }        __property void set_Year(short shValue)        {            year = shValue;         }};
先頭に戻る

ArrayList にクラスのインスタンスを追加します。

インスタンスを作成し、それらを追加するのには ArrayList クラスは、次の手順を実行します。
  1. 宣言します。 ArrayList クラスは次のとおり。
    private: ArrayList *arrayList;
  2. で、 FormLoad イベント ハンドラーは、クラスのインスタンスを作成します。インスタンスを追加、 ArrayList クラスは次のとおり。
    //Create an ArrayList.arrayList = new ArrayList();//Populate the array list.arrayList->Add(new guitar(S"GibSon",S"Les Paul",1958));arrayList->Add(new guitar(S"Fender",S"Jazz Bass",1958));arrayList->Add(new guitar(S"Guild",S"Bluesbird",1958));
先頭に戻る

ArrayList を DataGrid にバインドします。

後、 ArrayList クラスが設定されます、 データ ソース プロパティが データ グリッド 制御するのには ArrayList クラスです。列には、 データ グリッド コントロールに表示される範囲内のプロパティに基づいてプロパティのアクセサーが存在します。
// Bind the Array List to DataGrid.      dataGrid1->DataSource = arrayList;
先頭に戻る

ArrayList からの移動します。

使用できます、 CurrencyManager クラスを移動するには ArrayList クラスです。これを行うには、[変数を宣言、 CurrencyManager クラスは次のとおり。
private: CurrencyManager *currencyManager;
関連付ける、 CurrencyManager クラスのでは BindingContext コントロールの関数 (ここでは、 ArrayList).
currencyManager = (CurrencyManager*)dataGrid1->BindingContext->Item[arrayList];
は、 CurrencyManager クラスが、 位置 メンバーを反復処理するために使用できるプロパティは、 ArrayList クラスです。追加するには、またはの現在の値から減算することによって、 位置 関数の行でを移動することができます、 データ グリッド コントロールです。
//Move forward one element.currencyManager.Position++;//Move back one element.currencyManager.Position--;//Move to the beginning.currencyManager.Position = 0;//Move to the end.currencyManager.Position = arrayList.Count - 1;				
先頭に戻る

ステップ バイ ステップの例

  1. Microsoft Visual Studio を起動します。NET 2003 または Microsoft の Visual Studio 2005。
  2. で、 ファイル メニューのポイント新しい、し プロジェクト.
  3. クリックしてください。Visual C プロジェクト 下にあります。 [プロジェクトの種類、し Windows フォーム アプリケーション (。NET) 下にあります。 テンプレート.

    メモ Visual Studio 2005 年にをクリックします。 Visual C 下にあります。 [プロジェクトの種類、し Windows フォーム アプリケーション 下にあります。 テンプレート.
  4. で、 名前 テキスト ボックス、入力Q816164、し [OK].
  5. ソリューション エクスプ ローラーで、クラス ビューに切り替えます。これを行うには、クリックしてください。 クラス ビュー で、 ビュー メニューです。
  6. 右クリックします。 Q816164、ポイント追加、し クラスを追加します。.
  7. で、 クラスを追加します。 ダイアログ ボックス、クリックして 一般 C++ クラス 下にあります。 テンプレート,し ファイルを開く.

    メモ Visual Studio 2005 年にをクリックします。 C++ の Cass 下にあります。 テンプレート、し 追加.
  8. 汎用 C++ クラス ウィザードでを入力します。ギター で、 クラス名 テキスト ボックスとをクリックして、 終了日.は、 ギター クラスは次のとおりです。
    #pragma onceclass Guitar{public:	Guitar(void);	~Guitar(void);};
    メモ Visual Studio 2005 では、コードは、次のとおりです。
    #pragma onceref class Guitar{public:	Guitar(void);};
    確認するのには ギター Managed Extensions for C++ のクラスのクラスは、追加の _ _gc キーワード前に、 ギター クラスは、次のよう:
    __gc class Guitar{public:	Guitar(void);	~Guitar(void);};
  9. 既存のコード、Guitar.h ファイルに置き換えます、次のコード:
    #pragma onceusing namespace System;__gc class Guitar{private:        String *make;        String *model;        short year;public:    Guitar(void);    ~Guitar(void);                Guitar(String *strMake, String *strModel, short shYear)        {            make = strMake;            model = strModel;            year = shYear;        }        __property String* get_Make()         {            return make;         }        __property void set_Make(String* val)        {            make = (val);         }        __property String* get_Model()        {             return model;         }        __property void set_Model(String* val)        {            model = (val);         }        __property short get_Year()        {             return year;         }        __property void set_Year(short shValue)        {            year = shValue;         }};
    メモ 共通言語ランタイム サポートのコンパイラ オプションを追加する必要があります (//clr:oldsyntax) 正常に上記のコード サンプルをコンパイルする Visual C 2005 で。Visual C 2005 で、共通言語ランタイム サポート コンパイラ オプションを追加するには、次の手順を実行します。
    1. クリックしてください。 プロジェクト、し <projectname></projectname> プロパティ.

      メモ <projectname></projectname> プロジェクトの名前のプレース ホルダーです。
    2. 展開 構成プロパティ、し 全般.
    3. 選択する] をクリックします。 共通言語ランタイム サポート、古い構文 (または/clr:oldsyntax) で、 共通言語ランタイムのサポート 右側のウィンドウでの設定のプロジェクトについてをクリックしてください 適用、し [OK].
    共通言語ランタイムの詳細についてはコンパイラ オプションをサポートは、次のマイクロソフト Web サイトを参照してください。
    /clr (共通言語ランタイムのコンパイル)
    http://msdn2.microsoft.com/en-us/library/k8d11d4s.aspx
  10. Guitar.h のコード ウィンドウを閉じるし、フォーム デザイナーに切り替えます。
  11. 追加します。 データ グリッド Form1 に制御します。サイズは、 データ グリッド 4 に収まるようにコントロール次の 3 つの行と列。
  12. 4 を追加します。 ボタン Form1 に、コントロールし、並べ替え、ボタンを水平方向にします。
  13. 変更は、 テキスト プロパティ Button1 するには次へ.
  14. 変更は、 テキスト プロパティ Button2 するには.
  15. 変更は、 テキスト プロパティ Button3 するには最初.
  16. 変更は、 テキスト プロパティ [Button4] するには最後.
  17. [Form1.h ファイルを開くし、先頭に次のコードを追加します。
    #include "Guitar.h"
  18. 次のコードを追加、 Form1 クラス:
    private: System::Collections::ArrayList *arrayList;	private: System::Windows::Forms::CurrencyManager *currencyManager;	
  19. フォーム デザイナーに切り替えます、右クリック form1,し プロパティ.
  20. クリックして、 イベント アイコンをし、ダブルクリック、 ロード イベントを追加するのには Form1_Load イベントにコードします。
  21. 次のコードを貼り付けます、 Form1_Load イベント:
    //Create an arraylist.arrayList = new ArrayList();arrayList->Add(new Guitar(S"GibSon",S"Les Paul",1958));arrayList->Add(new Guitar(S"Fender",S"Jazz Bass",1958));arrayList->Add(new Guitar(S"Guild",S"Bluesbird",1958));             currencyManager = dynamic_cast <CurrencyManager*>                 (dataGrid1->BindingContext->Item[arrayList]);// Bind the Array List to DataGrid.dataGrid1->DataSource = arrayList;
  22. フォーム デザイナーに切り替えます。
  23. ダブルクリック 次へ、し、追加の次のコードには、 button1_Click イベント:
    //Move to the next position.currencyManager->Position++;
  24. ダブルクリック 、し、追加の次のコードには、 button2_Click イベント:
    //Move to the previous position.currencyManager->Position--;
  25. ダブルクリック 最初、し、追加の次のコードには、 button3_Click イベント:
    //Move to the first position.currencyManager->Position =0;
  26. ダブルクリック 最後、し、追加の次のコードには、 button4_Click イベント:
    //Move to the last position.currencyManager->Position = currencyManager->Count -1;
  27. ビルドし、プロジェクトを実行します。
  28. 行を移動するのには、コマンド ボタンをクリックして、データ グリッド コントロールです。オブジェクトの値を編集できる場合を確認します。必要があります。
には、トップ
関連情報
についてデータのコンシューマーを Windows フォーム上で、次のマイクロソフト開発者向けの Web サイトを参照してください。先頭に戻る
データ グリッド、アレイ、データ バインディング、arraylist

警告: この記事は自動翻訳されています

プロパティ

文書番号:816164 - 最終更新日: 01/17/2015 06:52:27 - リビジョン: 4.0

  • kbnosurvey kbarchive kbhowto kbhowtomaster kbdatabinding kbcollections kbmt KB816164 KbMtja
フィードバック