如何创建更好看的DataGridView?

时间:2013-05-18 22:05:20

标签: c# mysql winforms datagridview add-on

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

enter image description here

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

4 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

使用“样式”属性 -

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

答案 2 :(得分:1)

细胞造型可能是你的朋友。 您可以在MSDN Ref1Ref2中找到一些参考。同时,通过第三方控件库(如InfragisticDevExpress )可以轻松实现更先进的开箱即用样式。

答案 3 :(得分:1)

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

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