C#開発-データテーブル制御データバインディング(15.12)

I.概要

データテーブルコントロールは、クエリ時にテーブルの形式でデータを表示するためにWinFormフォームアプリケーションで使用される重要なコントロールです。同様に、データテーブルコントロールは、視覚的なデータバインディングとコードを使用して、データテーブル内のデータをバインドできます。データテーブルコントロールは、テーブル内のデータの変更と削除を実現します。

以下では、ビジュアルデータバインディングを使用してデータテーブルコントロールをバインドする方法と、コードを使用してデータテーブルコントロールをバインドする方法をそれぞれ紹介します。

<!-もっと->

2つはDataGridViewコントロールを視覚的にバインドします

データグリッドコントロールの視覚的なデータバインドも、コントロールのタスクメニューから完了します。次の図に示すように、[DataGridViewタスク]メニューには、[データソースの選択]、[列の編集]、[列の追加]、[追加の有効化]があります。 「編集を有効にする」、「削除を有効にする」、「列の並べ替えを有効にする」、「親コンテナにドッキングする」などのオプション

 

その中で:

  • データソースの選択:操作は、コンボボックスコントロールでデータソースを選択する場合と同じです。

  • 列の編集:列の追加や列のエイリアスの設定などの操作を含む、DataGridViewコントロールの列の編集に使用されます

  • 列の追加:DataGridViewコントロールに列を追加するために使用され、さまざまなタイプのコントロールをDataGridViewコントロールに追加して、テーブル内のデータを変更または削除するボタンの追加など、新しく追加された列を表示できます。

  • 追加を有効にする:ユーザーがDataGridViewコントロールに行を追加できるようにします。これは、DataGridViewコントロールのAllowUserToAddRowsプロパティをTrueに設定するのと同じです。

  • 編集を有効にする:ユーザーがDataGridViewコントロールの値を編集できるようにします。これは、DataGridViewコントロールのReadonlyプロパティをFalseに設定するのと同じです。

  • 削除を有効にする:ユーザーがDataGridViewコントロールの値を削除できるようにします。これは、DataGridViewコントロールのAllowUserToDeleteRowsプロパティをTrueに設定するのと同じです。

  • 列の並べ替えを有効にする:手動で列をリセットできるようにします。これは、DataGridViewコントロールのAllowUserToOrderColumnプロパティをTrueに設定するのと同じです。

  • 親コンテナにドッキング:DataGridViewコントロールを配置されているフォームで最大化できるようにします

次の例は、DataGridViewコントロールを視覚的にバインドする方法を示しています

3つの使用コードを使用してDataGridViewコントロールをバインドします

コードを使用してDataGridViewコントロールをバインドする場合、コントロールのDataSourceプロパティを設定する必要があります。具体的なステートメントは次のとおりです。

DataGridViewコントロールの名前。DataSource= DataTableオブジェクト。

DataSetオブジェクトを使用してDataSourceプロパティに値を割り当てる場合は、DataSetオブジェクトのTablesプロパティを使用して、指定されたデータテーブルを選択する必要があります。

4つの例

4.1例1ビジュアルバインディングメソッドを使用して、DataGridViewコントロールのプロフェッショナル情報テーブルにプロフェッショナル番号とプロフェッショナル名を表示し、テーブルの列名にエイリアスを設定します

4.1.1フォームデザイン

次の図に示すように、Windowsフォームアプリケーションを作成し、専門的な情報を表示するためのフォームを追加します

 

4.1.2フォームのデータソースを設定する

上の図に示すインターフェイスボタンで、DataGridViewコントロールの[ "]ボタンをクリックし、ポップアップの[DataGridViewタスク]メニューの[データソースの選択]コンボボックスでDataGridViewコントロールのデータソースを設定します。

データソースを選択する方法は、前のセクションC#ComboBoxで紹介したコンボボックスでデータソースを選択する方法と同じです。コンボボックスを使用する前の例でアプリケーションにデータソースが設定されているため、ここにDataGridViewコントロールがあります。データソースは、設定されているデータソースを直接選択できます。

データソースを選択した後の「DataGridViewタスク」メニューの効果を次の図に示します。

4.1.3列の編集

上図のインターフェースで「列の編集」をクリックすると、下図のダイアログボックスが表示されます。

ダイアログボックスの左側に、メジャー情報テーブル(メジャー)のすべての列が一覧表示され、列の属性が右側に一覧表示されます。共通の属性を次の表に示します。

属性名 説明
フローズン ユーザーがDataGridViewコントロールを水平方向にスクロールしたときに列を移動するかどうかを設定します。デフォルトはFalseです。
ColumnType 列を表示するときにコントロールタイプを設定します。デフォルトはテキストボックスです
DataPropertyName バインドされたデータソースの列を設定します
HeaderName DataGridView列に表示される列見出しを設定します
目に見える 列を表示するかどうかを設定します

上図のダイアログボックスで、id列のheader(HeaderText)プロパティを「number」に設定し、name列のheader(HeaderText)プロパティを「professionalname」に設定します。

4.1.4操作効果

 

4.1.4説明

上記の実行効果から、ビジュアルデータバインディングを使用すると、DataGridViewコントロールのデータテーブルにデータを表示する操作をすばやく完了でき、バインドされた列のプロパティを簡単に設定できることがわかります。

4.2例2コードを使用してDataGridViewコントロールをバインドする

4.2.1コード

//フォーム読み込みイベント
    privatevoid 
DataGridViewForm_Load(object sender、EventArgs e)
{ 
    //データベース接続文字列connStr = "Data Source =。; Initial Catalog = test; User ID = sa; Password = root"; 
    // SqlConnectionを作成します
    SqlConnectionのインスタンスconn = null; 
    try 
    { 
        conn = new SqlConnection(connStr); 
        //データベースを
        開くconn.Open(); 
        string sql = "select * from major"; 
        // 
        SqlDataAdapterクラスのオブジェクトを作成するSqlDataAdaptersda = new SqlDataAdapter( sql、conn); 
        // DataSetクラスのオブジェクトを作成します
        DataSetds = new DataSet(); 
        // SqlDataAdapterオブジェクトsdaを使用して、新しい検索結果をDataSetオブジェクトに入力しますds 
        DataSetds sda.Fill(ds);
        //テーブルコントロールのDataSourceプロパティを設定します
        dataGridView1.DataSource = ds.Tables [0]; 
    } 
    catch(Exception ex)
    { 
        MessageBox.Show( "エラーが発生しました!" + ex.Message); 
    }
    最後に
    { 
        if(conn!= null)
        { 
            //データベース接続を閉じる
            conn .Close(); 
        } 
    } 
}

4.2.2説明

上記の実行効果から、DataGridViewコントロールのDataSourceプロパティを設定することで、DataGridViewコントロールをバインドできることがわかりますが、バインドされたDataGridViewコントロールのタイトルは、データテーブルの列名です。

DataGridViewコントロールの列見出しを変更する必要がある場合は、上記のコードに次のコードを追加する必要があります。

//最初の列の列見出しを設定します
dataGridView1.Columns [0] .HeaderText = "Number"; 
// 2番目の列の列見出しを設定します
dataGridView1。Columns[1] .HeaderText = "Professional name";

おすすめ

転載: blog.csdn.net/Calvin_zhou/article/details/108080267