mylogic 2017-04-05 08:44 采纳率: 0%
浏览 1609

C# winform开发,devExpress gridcontrol控件怎样实现如下的效果?

有列对齐线的,方便看汇总列

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-05 16:29
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    要使用DevExpress GridControl在Windows Forms中实现您所描述的效果,您可以按照以下步骤操作:

    首先,在您的项目中添加 DevExpress 库。对于 C# WinForms 应用程序,您可以在 Visual Studio 中通过“添加依赖项”功能从 NuGet 仓库下载和安装。

    步骤 1: 添加 DevExpress 控件

    打开 Visual Studio,转到解决方案资源管理器窗口,然后右键点击 Form1.cs 文件夹,选择 "Add" -> "New Item" -> "Class". 命名它为 "DevExGrid".

    步骤 2: 创建 DevExpress GridControl 控件

    创建一个新类继承自 DevExpress.XtraGrid.Views.Grid.GridView 类,并重写必要的方法以适应您的需求。例如,可以创建一个名为 CustomGridView 的类,并添加以下属性和方法:

    using DevExpress.XtraEditors;
    using DevExpress.XtraGrid.Columns;
    
    public class CustomGridView : DevExpress.XtraGrid.Views.Grid.GridView
    {
        public CustomGridView()
        {
            // 设置列分割线的样式
            SetColumnStyle("ColumnSeparator", new ColumnStyle() { BorderStyle = BorderStyles.Dashed, BackColor = Color.Gray });
            SetColumnStyle("Total", new ColumnStyle() { BackColor = Color.Blue });
    
            // 设置数据源
            DataSource = new string[] {"Data1", "Data2", "Data3"};
        }
    
        protected override void OnSourceChanged(EventArgs e)
        {
            base.OnSourceChanged(e);
    
            // 检查数据源是否变化
            if (DataSource.Length != 0)
            {
                Update();
            }
        }
    }
    

    步骤 3: 在窗体上显示网格控件

    Form1.cs 文件中,将 CustomGridView 控件添加到窗体上并设置其可见性。确保在 Main 方法中正确初始化 CustomGridView

    private void InitializeComponent()
    {
        this.devExGrid1 = new DevExpress.XtraEditors.Controls.DevExGrid();
    
        // 给定你的数据源
        string[] dataSource = { "Data1", "Data2", "Data3" };
    
        // 初始化 GridControl
        devExGrid1.DataSource = dataSource;
        devExGrid1.ShowInTaskbar = true; // 展示网格控制在任务栏上的图标
        devExGrid1.ShowMode = DevExpress.XtraGrid.Views.Base.ViewModes.Normal; // 显示所有列
        devExGrid1.ShowEditingIcon = false; // 不显示编辑图标
        devExGrid1.AutoHeight = true; // 自动调整高度
        devExGrid1.ShowVerticalLines = false; // 不显示垂直分隔线
        devExGrid1.ShowHorizontalLines = false; // 不显示水平分隔线
        devExGrid1.ShowRowNumbers = false; // 不显示行编号
        devExGrid1.ShowColumnHeaders = false; // 不显示列标题
        devExGrid1.ShowCheckBoxes = false; // 不显示复选框
        devExGrid1.ShowExpandableRows = false; // 不显示展开的行
        devExGrid1.ShowGroupPanel = false; // 不显示组面板
        devExGrid1.ShowFooterPanel = false; // 不显示尾部面板
    
        // 添加列分割线样式
        CustomGridView customGV = new CustomGridView();
        customGV.ShowColumnSeparator = true;
        customGV.ShowColumnSeparatorAbove = true;
        customGV.ShowColumnSeparatorBelow = true;
        customGV.ColumnSeparators = DevExpress.XtraGrid.Views.Grid.ColumnSeparatorType.SeparatorAbove | DevExpress.XtraGrid.Views.Grid.ColumnSeparatorType.SeparatorBelow | DevExpress.XtraGrid.Views.Grid.ColumnSeparatorType.SeparatorBefore | DevExpress.XtraGrid.Views.Grid.ColumnSeparatorType.SeparatorAfter;
        customGV.ShowColumnSeparatorOnEmptyCell = true;
        devExGrid1.Columns.Add(customGV);
    }
    
    private void Form1_Load(object sender, EventArgs e)
    {
        InitializeComponent();
    }
    

    现在,当您运行应用程序时,DevExpress GridControl 应该按预期显示编码、序列号、列分割线以及合计。如果您想要更多定制或调整,请查阅 DevExpress 文档或使用他们的 API 来扩展 CustomGridView 控件的功能。

    评论

报告相同问题?