【问题标题】:How can I create a better looking DataGridView? [closed]如何创建更好看的 DataGridView? [关闭]
【发布时间】:2013-05-13 19:48:16
【问题描述】:

我想创建一个更好看的 DataGridView 来显示我的 SQL 数据库中的数据。具体来说,我希望复制这样的内容:

是否有某种适用于 Visual Studio 的附加组件可以帮助我使 DataGridView 看起来像这样?还是我错过了一些格式/显示选项?

【问题讨论】:

    标签: c# mysql winforms datagridview add-on


    【解决方案1】:

    这种事情我已经做过很多次了,其他答案都是正确的,因为你必须通过设置单元格样式来手动完成。有第 3 方选项,但在与它们混了一段时间后,我总是最终放弃它,因为您偶尔会遇到专有控件的限制(而且它们通常要花钱)。但是,如果您能够使用 WPF 而不是 WinForms,我强烈建议您使用它。使用 WPF 的 MVVC 模式进行各种样式设置要容易得多。

    【讨论】:

      【解决方案2】:

      单元格样式可能是您的朋友。 您可以在 MSDN Ref1Ref2 中找到一些参考资料。同时,可以通过InfragisticDevExpress 等第三方控件库轻松实现更高级的开箱即用样式。

      【讨论】:

        【解决方案3】:

        使用“样式”属性 -

        DataGridView1.Item(ColumnIndex, RowIndex).Style.BackColor = Color
        DataGridView1.Item(ColumnIndex, RowIndex).Style.ForeColor = Color
        

        【讨论】:

          【解决方案4】:

          你可以试试这个..例如..

          dgv.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
          dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Aquamarine
          dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Red
          dgv.ColumnHeadersHeight = 30
          dgv.GetType.InvokeMember("DoubleBuffered", Reflection.BindingFlags.NonPublic Or _
                          Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.SetProperty, Nothing, dgv, New Object() {True})
          
          dgv.Columns(1).DefaultCellStyle.BackColor = Color.Yellow
          

          在 Form.load 事件中添加这个

          dgv.EnableHeadersVisualStyles = False
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2010-09-26
            • 2014-07-14
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-07-01
            相关资源
            最近更新 更多