【问题标题】:Format of DataGridView valueDataGridView 值的格式
【发布时间】:2011-01-28 12:45:26
【问题描述】:

我有一个从 SQL Server 数据库中的表填充的 DataGridView。其中一列是price

DGV 中的列类型自动设置为十进制。

在某些情况下,我需要在此列的单元格中写入“无”等文本,而不是价格。

我该怎么做?

DGV.Item("price", 0).Value = "none" 不起作用,因为单元格的十进制类型。

【问题讨论】:

    标签: vb.net winforms datagridview


    【解决方案1】:

    代替所有这些,使用数据列表达式属性。

    如果您只想更改数据的显示方式(这就是您想要的),请挂钩 CellFormatting 事件。这是总体思路(代码未经测试):

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

    【讨论】:

      【解决方案2】:

      看看实现 IFormatProvider 和 ICustomFormatter...

      然后在 DGV 中,您可以通过 ColumnFormatProvider 将其分配给列格式。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-05
        • 1970-01-01
        • 2011-05-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多