0

C#、Linq、DataGridViewを使用しています。

グリッドをそのようにバインドします。

var db = new DataClassesDataContext();

var results = db.Results;

.... much later on in the code..

dataGridView1.DataSource = results;

列のフィールド名を使用するため、時間を大幅に節約できましたが、FIELDの説明を使用できるため、クライアントの列名をより適切に設定できます。

私が今していることは、フィールド名にアンダースコアを使用することです

  • ID
  • USER_NAME

したがって、ColumnAddedイベントでは

    private void dataGridView1_ColumnAdded(object sender, DataGridViewColumnEventArgs e)
    {
        e.Column.HeaderText = e.Column.HeaderText.Replace("_"," ");


    }

しかし、それはただの回避策です。

4

1 に答える 1

1

これらの列が常にデータベース内の特定のフィールドを表すことがわかっている場合は、GridView のデータソースを設定した直後にいつでもそれらを設定できます。

DataGridView.Columns[0].HeaderText = "Column 1";
DataGridView.Columns[1].HeaderText = "Column 2";
DataGridView.Columns[2].HeaderText = "Column 3";
DataGridView.Columns[3].HeaderText = "Column 4";

それは常に、データベースの命名規則と、DataGridView. あなたの例で行ったように、それらを常に操作できるとは限りません。

私が気づいたことの1つは、おそらく欠落していることです。ユーザーが DataGridView 内のデータを編集できるようにし、変更を にコミットすることを計画している場合は、DataContextこれら 2 つのオブジェクト間でバインディング ソースを使用して動作させる必要があります。

于 2012-11-20T08:21:52.463 に答える