我有一个绑定(bind)到 DataTable 的 DataGridView。
DataTable 是一个全数字值。
要求 DataGridView 中的每 n 行都包含文本,而不是数值(以便为用户在视觉上分隔部分)。

我很高兴在绑定(bind)后将此文本数据放入 DataTable 或 DataGridView 中,但我看不到将这些文本数据放入其中的方法,因为两者的列格式都需要数字数据 - 我得到一个“不能把一个字符串放在十进制中”两者的错误。

任何想法如何更改 DataTable 或 DataGridView 中特定行或单元格的格式?

最佳答案

您可以为 DataGridView 的 CellFormatting 事件提供处理程序,例如:

public partial class Form1 : Form
{
    DataGridViewCellStyle _myStyle = new DataGridViewCellStyle();

    public Form1()
    {
        InitializeComponent();

        _myStyle.BackColor = Color.Pink;
        // We could also provide a custom format string here
        // with the _myStyle.Format property
    }

    private void dataGridView1_CellFormatting(object sender,
        DataGridViewCellFormattingEventArgs e)
    {
        // Every five rows I want my custom format instead of the default
        if (e.RowIndex % 5 == 0)
        {
            e.CellStyle = _myStyle;
            e.FormattingApplied = true;
        }
    }

    //...
}

有关创建自己的样式的帮助,请参阅在线帮助中的 DataGridView.CellFormatting Event 主题。

关于c# - 如何在 Winform DataGridView 中创建不同的单元格格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/592757/

10-14 20:34