2010-03-17 68 views
0

我有一個DataGridView從SQL Server數據庫中的表填充。其中一列是priceDataGridView值的格式

DGV中的列類型自動設置爲十進制。

在某些情況下,我需要在此列文本的單元格中寫入「無」而不是價格。

我該怎麼辦?

DGV.Item("price", 0).Value = "none" 不起作用,因爲單元格的十進制類型。

回答

0

而不是所有這些,使用datacolumn表達式屬性。

如果你只是想改變數據的顯示方式(這聽起來就像你想要的),勾住CellFormatting事件。這是一般想法(代碼未經測試):

private void dgv_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 
{ 
    if (some_condition(e.ColumnIndex, e.RowIndex)) { 
     e.Value = "none"; 
     e.FormattingApplied = true; 
    } 
} 
0

看看如何實現的IFormatProvider & ICustomFormatter ...

然後在DGV,你可以把它分配給通過ColumnFormatProvider列格式。