列の財産の私のコンポーネントのラインナップツールキット開発を維持-管理ないもののDataContext設定されている

StackOverflow https://stackoverflow.com/questions/734313

  •  06-09-2019
  •  | 
  •  

質問

私DataTable反射の特性からクラスを設定していDataContextんできました。Windowsの場合です。制御できます。開発を維持-管理:

// Create the columns based on the data in the album info - get by reflection
var ai = new AlbumInfo();
Type t = ai.GetType();

dataTable.TableName = t.Name;

foreach (PropertyInfo p in t.GetProperties())
{
    var columnSpec = new DataColumn();
    // If boolean or int type can create directly into grid, else create a text box
    if (p.PropertyType == typeof(bool) || p.PropertyType == typeof(int))
    {
        columnSpec.DataType = p.PropertyType;
    }
    else
    {
        columnSpec.DataType = typeof(string);
    }
    columnSpec.ColumnName = p.Name;
    dataTable.Columns.Add(columnSpec);
}

dataGridView.DataContext = dataTable;

AlbumInfoを含む特性などのタイトル、アーティスト、ビットレート,HasImage.

ようにしているの視認性のあるカラムの開発を維持-管理の前にDataTableはデータです。しかし、dataGridView.カラムはnullです。いまで待た後DataTableはそのdataGridView.カラム性を設定します。

のDataTable.列の宿泊施設は以前のテーブルが充填されている。

何か他のものはありまた必要な場合にDataTableの開発を維持-管理?これができないものーとしての私のDataTableルダを反射を生み出します。

編集:

感動のコードをAutoGeneratedColumnsイベントハンドラるようになると呼ばれる回)にてチェックしたりします。カウントにアクセスできます。

しかし、いずれかのカラム視界またはインデックス表示なります。ればいいの両方を取得しますインデックスが範囲の例外の他の地域ではWPFToolkit開発を維持-管理コードです。誰でもそのアイデアですが?

私のコード:

foreach (object columnData in Properties.Settings.Default.ColumnData)
{
    DataGridColumn column = dataGridView.Columns[index];
    column.DisplayIndex = columnData.DisplayIndex;
    column.Visibility = columnData.Visible ? Visibility.Visible : Visibility.Hidden;

    AddContextMenuItem(dataGridView.ContextMenu, columnData.Header, index++, columnData.Visible);
}

AddContextMenuItemっ方法

private void AddContextMenuItem(ContextMenu contextMenu, string columnName, int index, bool visible)
{
    var menuItem = new MenuItem() { Header = columnName, Tag = index, IsCheckable = true, IsChecked = visible };
    menuItem.Click += new RoutedEventHandler(contextMenu_onClick);
    contextMenu.Items.Add(menuItem);
}
役に立ちましたか?

解決 2

今行動が、私を見た正確かにアクセスの列の後、ダニエルの答えを指摘のものから100%ます。しかし、その後のその後の問題のセンサーの両方の視認性を示した。

私は報告され、問題ないに設定することができ、双方の指数と視認性のCodeplexの掲示板に書き込み、いつでも今回答:

これは実際のバグ、ま 申請プログラムにバグデータベースへのトラック の問題です。

てみるのも良いでしょう労働の課題 を呼び出しディスパッチャ.BeginInvokeで 背景を優先的内ロード イベントです。この問題は ない場合に発生順序の変更 後のページに達して着実な の状態です。

いかなえるかどうかわからないかチェックをしているこの仕事と周り出します。ったので書き換えをサポートアプリコンポーネントのラインナップとしての学習権をこの作品はいなだけじゃない傷を付けても欠かせない。

更新

使用した版3.5.40320.1てラベルを付け、月2009年.

いただきました、最新バージョン3.5.40619.1てラベルを付け、2009年月の問題設定の両方の視認性とインデックス表示されます。

他のヒント

いることが望ましいことを理解するための制御の視認性の自動生成されたカラム?と思うの開発を維持-管理のAutoGeneratingColumnイベントに最適です。で火災の後に自動的に生成されます。して修正できるカラムの性質のこの時間を設定するなど視認性はな e.Cancel = true による列 全ての.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top