0

私は ac# プロジェクトに取り組んでおり、本当に奇妙な問題を抱えています。

ファイルを読み込んで行を処理し、結果をリスト配列内の個別の変数に保存しています。次に、リスト配列を調べてデータグリッドに入力します。

ファイルが正常に読み込まれ、ファイル内の行に新しい行が作成されますが、各行は空白で、列は表示されません。以下は、それがどのように見えるかのスクリーンショットです。

ファイルのロード後にデータグリッドを表示する

デバッグすると、変数の内容を表示でき、すべてのテキストが期待どおりに表示されます。以下は私が使用しているコードです

private void loadNonVerbose(List<LogCatDetails> logCatDetailsList)
        {
            DataSet ds = new DataSet();
            DataTable table = new DataTable();
            DataColumn logLevel = new DataColumn("Log Level", typeof(string));
            DataColumn tag = new DataColumn("Tag", typeof(string));
            DataColumn processID = new DataColumn("Process ID", typeof(int));
            DataColumn message = new DataColumn("Message", typeof(string));

            table.Columns.Add(logLevel);
            table.Columns.Add(tag);
            table.Columns.Add(processID);
            table.Columns.Add(message);

            ds.Tables.Add(table);

            int i = 0;
            foreach (LogCatDetails logCatDetails in logCatDetailsList)
            {
                DataRow row = table.NewRow();
                row[logLevel] = logCatDetails.LogLevel.ToString();
                row[tag] = logCatDetails.Tag;
                row[processID] = logCatDetails.ProcessID;
                row[message] = logCatDetails.Message;
                table.Rows.Add(row);
                if (i == 10)
                {
                    break;
                }
                i++;
            }

            logCatDataGrid.ItemsSource = ds.Tables[0].DefaultView;
        }

あなたが提供できる助けをありがとう

UPDATE 以下は、データグリッドがXMLでどのように定義されているかです

<DataGrid ColumnWidth="*" AutoGenerateColumns="False" Margin="12,51,12,12" Name="logCatDataGrid" />
4

1 に答える 1

1

AutoGenerateColumnsのプロパティを次のように設定しDataGridますTrue

<DataGrid ColumnWidth="*" AutoGenerateColumns="True" Margin="12,51,12,12" Name="logCatDataGrid" />

HighCore は正しく、彼のガイダンスに従うことをお勧めします。sはDataSet/DataTable不要です。code-behindを次のように変更するだけで、これを簡素化できます。

private void loadNonVerbose(List<LogCatDetails> logCatDetailsList)
{
    logCatDataGrid.ItemsSource = logCatDetailsList;
}
于 2013-02-17T23:59:28.713 に答える