【问题标题】:Why changing the style of the column header is throwing error?为什么更改列标题的样式会引发错误?
【发布时间】:2020-04-19 05:27:58
【问题描述】:

我有一个 datagridview,它直接从数据库存储过程中加载列。

我将它的样式更改为 bold 用于少数列标题而不是全部。

 dgvFunctionalLocation.Columns("FL").HeaderCell.Style.Font = New Font("Arial", 12, FontStyle.Bold)

但不工作并抛出错误。

System.Windows.Forms.DataGridViewColumn.ShouldSerializeHeaderText()

【问题讨论】:

  • 这是一种方法,而不是错误。您是在说,实际上是在调用该方法时抛出异常吗?如果是这样,该方法究竟是什么时候调用的?请提供问题的完整和清晰的解释。
  • 我只使用这一行 dgvFunctionalLocation.Columns("FL").HeaderCell.Style.Font = New Font("Arial", 12, FontStyle.Bold)
  • 它会抛出 HeaderText 应该被序列化的异常。
  • 不,因为没有这样的例外。这是一种返回布尔值的方法,该值指示标题文本是否应序列化。
  • 您确定您使用的是 winforms datagridview 而不是一些第三方控件(Telerik、Syncfusion、DevExpress 等)?

标签: .net vb.net winforms datagridview


【解决方案1】:

我刚刚创建了一个带有DataGridView 的新项目并成功执行了这段代码:

Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim table As New DataTable

        With table.Columns
            .Add("Id", GetType(Integer))
            .Add("Name", GetType(String))
        End With

        With table.Rows
            .Add(1, "Peter")
            .Add(2, "Paul")
            .Add(3, "Mary")
        End With

        DataGridView1.DataSource = table
        DataGridView1.Columns(0).HeaderCell.Style.Font = New Font(DataGridView1.Font, DataGridView1.DefaultCellStyle.Font.Style Or FontStyle.Bold)
    End Sub

End Class

我不明白为什么同样的事情不适合你。如果没有,您首先需要做您应该做的事情,并提供一个明确说明问题的minimal, reproducible example

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-09
    • 2015-09-02
    • 1970-01-01
    • 2012-11-06
    • 2011-01-19
    • 2014-12-11
    相关资源
    最近更新 更多