XAF数据表格GridView定制化

IDE:Visual Studio V2019

Net.Framework: V4.6.1

Dev Express V21.2.4

在XXX.Module.Win项目下常见ViewController:

using DevExpress.Data.Filtering;
using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Actions;
using DevExpress.ExpressApp.Editors;
using DevExpress.ExpressApp.Layout;
using DevExpress.ExpressApp.Model.NodeGenerators;
using DevExpress.ExpressApp.SystemModule;
using DevExpress.ExpressApp.Templates;
using DevExpress.ExpressApp.Utils;
using DevExpress.ExpressApp.Win.Editors;
using DevExpress.Persistent.Base;
using DevExpress.Persistent.Validation;
using DevExpress.Utils;
using DevExpress.XtraEditors.Controls;
using DevExpress.XtraEditors.Repository;
using DevExpress.XtraGrid.Columns;
using DevExpress.XtraGrid.Views.Grid;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ListView = DevExpress.ExpressApp.ListView;

namespace MyMOM.Module.Win.Controllers
{
    // For more typical usage scenarios, be sure to check out https://documentation.devexpress.com/eXpressAppFramework/clsDevExpressExpressAppViewControllertopic.aspx.
    public partial class SwitchGridViewStyleViewController : ViewController
    {
        // Use CodeRush to create Controllers and Actions with a few keystrokes.
        // https://docs.devexpress.com/CodeRushForRoslyn/403133/
        public SwitchGridViewStyleViewController()
        {
            InitializeComponent();
            // Target required Views (via the TargetXXX properties) and create their Actions.
        }
        protected override void OnActivated()
        {
            base.OnActivated();
            // Perform various tasks depending on the target View.
        }


        protected override void OnViewControlsCreated()
        {
            base.OnViewControlsCreated();
            // Access and customize the target View control.

            GridListEditor listEditor = ((ListView)View).Editor as GridListEditor;
            ListView lView = ((ListView)View) as ListView;
            //((Form)Frame.Template).Controls[0].BackColor = Color.Transparent;

            if (listEditor != null)
            {
                GridView gridView = listEditor.GridView;
                gridView.OptionsView.EnableAppearanceOddRow = true;
                gridView.Appearance.OddRow.BackColor = Color.FromArgb(244, 244, 244);

                //gridView.Columns[0].DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
                //gridView.Columns["Name"].DisplayFormat.FormatString = "n2";

                //gridView.Columns["CreateTime"].DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
                //gridView.Columns["CreateTime"].DisplayFormat.FormatString = "G2";

                //
                //gridView.OptionsView.ColumnAutoWidth = false;

                //Freeze the column
                gridView.Columns[0].Fixed = DevExpress.XtraGrid.Columns.FixedStyle.Left;

                //模板列
                GridColumn col = new GridColumn();
                col.FieldName = "操作";
                col.Visible = true;
                col.VisibleIndex = gridView.Columns.Count;

                Dictionary<object, string> dicButtons = new Dictionary<object, string>();
                dicButtons.Add("delete", "审核");
                dicButtons.Add("download", "下载");
                RepositoryItemButtonEdit ribeFile = CreateRepositoryItemButtonEdit(dicButtons);
                ribeFile.ButtonClick += ribtndata_Click;
                //gcData.RepositoryItems.Add(ribeFile);
                //this.Operate.ColumnEdit = ribeFile;

                col.ColumnEdit = ribeFile;
                gridView.Columns.Add(col);

                gridView.Appearance.HeaderPanel.TextOptions.HAlignment = HorzAlignment.Center;

                //gridControl1.BackColor = Color.Transparent;
                gridView.Appearance.Row.Options.UseBackColor = true;
                gridView.Appearance.Row.BackColor = Color.Transparent;
                gridView.Appearance.Empty.Options.UseBackColor = true;
                gridView.Appearance.Empty.BackColor = Color.Transparent;

                gridView.OptionsSelection.MultiSelectMode = GridMultiSelectMode.CheckBoxRowSelect;
                gridView.OptionsSelection.ShowCheckBoxSelectorInColumnHeader = DefaultBoolean.False;
                gridView.OptionsSelection.ShowCheckBoxSelectorInColumnHeader = DevExpress.Utils.DefaultBoolean.False;
                gridView.VisibleColumns[0].Caption = "选择";

            }
        }

        //注册按钮事件
        //this.ribtndata.ButtonClick += new DevExpress.XtraEditors.Controls.ButtonPressedEventHandler(ribtndata_Click);
        private void ribtndata_Click(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
        {
            if (e.Button.Index == 0)
            {
                //方法
                MessageBox.Show("已经审核");
            }
            if (e.Button.Index == 1)
            {
                //方法
                MessageBox.Show("已经下载");
            }
        }

        private RepositoryItemButtonEdit CreateRepositoryItemButtonEdit(Dictionary<object, string> dicButtons)
        {
            RepositoryItemButtonEdit repositoryBtn = new RepositoryItemButtonEdit();
            repositoryBtn.AppearanceDisabled.Options.UseTextOptions = true;
            repositoryBtn.AppearanceDisabled.TextOptions.HAlignment = HorzAlignment.Near;
            repositoryBtn.AutoHeight = false;
            repositoryBtn.TextEditStyle = TextEditStyles.HideTextEditor;
            repositoryBtn.ButtonsStyle = BorderStyles.UltraFlat;
            repositoryBtn.Buttons.Clear();
            EditorButton btn = null;
            foreach (KeyValuePair<object, string> item in dicButtons)
            {
                btn = new EditorButton();
                btn.Kind = ButtonPredefines.Glyph;
                btn.Caption = item.Value;
                btn.Tag = item.Key;
                repositoryBtn.Buttons.Add(btn);
            }
            return repositoryBtn;
        }

        protected override void OnDeactivated()
        {
            // Unsubscribe from previously subscribed events and release other references and resources.
            base.OnDeactivated();
        }

    }
}

效果:

改是改了,不太推荐。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_16215957

如果有帮助一杯咖啡奶茶均可

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值