列ヘッダーはあるが行はないDatagrid

私は自動生成された列でWPFデータグリッドを使用しています。私は1つの列を持つデータテーブルを割り当てますが、Items-sourceとして行は割り当てません。

public DataTable GetInitData()
    {
        empDS = new DataSet();
        empTbl = new DataTable();
        empDS.Tables.Add(empTbl);
        dc = new DataColumn("Test");
        empDS.Tables[0].Columns.Add(dc);
        empDS.AcceptChanges();
        return empDS.Tables[0];
    }

上記のメソッドをコンストラクタで呼び出します。

 public MainWindow()
    {
        this.InitializeComponent();
        this.grdEmp.ItemsSource = this.GetInitData().DefaultView;
    }

スクリーンショット:

Screen shot of window

今すぐF5キーを押してコードを実行すると、データグリッドに列が表示されません。なぜ私は列を表示していない、私を案内してください。他の情報が必要な場合は、私に知らせてください。

よろしく、 Priyank

1

1 答え

1つの行をテーブルに追加すると、その列が生成されます。したがって、私はこれがWPFの DataGrid の制限事項(バグ?)であることを示唆しています。達成しようとしていることに応じて、最初にデータに空の行を追加することができます。

public DataTable GetInitData()
{
    var empDS = new DataSet();
    var empTbl = new DataTable();
    empDS.Tables.Add(empTbl);
    var dc = new DataColumn("Test");
    empDS.Tables[0].Columns.Add(dc);
    var row = empDS.Tables[0].NewRow();
    //row[0] = "foo";
    empDS.Tables[0].Rows.Add(row);
    empDS.AcceptChanges();
    return empDS.Tables[0];
}
1
追加された
詳細情報をありがとう:) :)
追加された 著者 Priyank Thakkar,
この問題もありました。ヘッダーが表示されないことが非常に貧弱です。ヘッダーを表示してユーザーがデータを入力できるようにする必要があります。
追加された 著者 VenerableAgents,