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();
}
}
}
效果:
改是改了,不太推荐。