4

オーディオ トラックに関する情報で満たされた DataTable があります。トラック番号を格納する DataTableColumn は UInt32 型なので、DataGridView で DataTable を表示すると、その列でデータを並べ替えることができます。トラック番号がないトラックの場合、DataTable に 0 を取得しました。

data.Tables["active"].Columns["Track"].DataType = Type.GetType("System.UInt32");

DataGridView のその列のすべての 0 を空の文字列 (何もない) として表示することは可能ですか? しかし、トラックを並べ替えることができるように、DataTable に UInt32 0 として保存していますか?

4

2 に答える 2

10

もちろん、CellFormattingイベントを使用できます:

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    if (dataGridView1.Columns[e.ColumnIndex].DataPropertyName == "Track")
    {
        uint value = (uint)e.Value;
        if (value == 0)
        {
            e.Value = string.Empty;
            e.FormattingApplied = true;
        }
    }
}
于 2013-05-25T19:43:52.090 に答える
0

ちょっとした提案...「System.String」で別の列を追加し、その値をトラック列と等しくして(トラック列を非表示)、新しい表示列で0を空の文字列に置き換えることができます

于 2013-05-25T19:43:27.100 に答える