DevExpress 控件经验总结
来源:互联网 发布:淘宝女装店铺简介 编辑:程序博客网 时间:2024/06/05 19:51
将多个GridControl导出到一个Excel文件中
public static bool ToExcelDev(List<GridControl> lstGridControl) { SaveFileDialog dig = new SaveFileDialog(); dig.Filter = ExcelHelper.FILTER_EXCEL; if (dig.ShowDialog() == DialogResult.Cancel) return false; try { CompositeLink complink = new CompositeLink(new PrintingSystem()); foreach (GridControl item in lstGridControl) { if (item.DataSource != null) { foreach (GridView gridView in item.Views) { gridView.OptionsPrint.AutoWidth = false; } PrintableComponentLink link = new PrintableComponentLink(); link.Component = item; complink.Links.Add(link); } } complink.CreatePageForEachLink(); complink.ExportToXlsx(dig.FileName, new XlsxExportOptions() { ExportMode = XlsxExportMode.SingleFilePageByPage, TextExportMode = TextExportMode.Text }); MessageBox.Show(ValidateHelper.GetText("Success", "成功导出到Excel!"), ValidateHelper.GetText("Alert", "提示")); return true; } catch (Exception er) { MessageBox.Show(er.Message, ValidateHelper.GetText("Alert", "提示")); return false; } }注意:用户电脑上必须安装Office2007或以上的版本,否则查看到导出的文件是空的。
注意:导出前需将GridView.OptionsPrintAutoWidth=false;,否则导出后数据挤在一起。
advBandedGridView1.OptionsPrint.AutoWidth = false;
多文档documentManager1,的tabbedView视图中,更改文档Tab显示顺序
tabbedView1.Controller.Move((currentDoc as DevExpress.XtraBars.Docking2010.Views.Tabbed.Document), 0);
将gridView列中的某行的编辑控件设置为空
private DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit EmptyEditor; private void InitEmptyEditor() { EmptyEditor = new DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit(); EmptyEditor.Buttons.Clear(); EmptyEditor.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor; gridControl1.RepositoryItems.Add(EmptyEditor); new DevExpress.XtraGrid.Design.XViewsPrinting(gridControl1); } private void gridView1_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e) { if (e.Column.FieldName == SELECTFIELDNAME) { if (IsMachineRow(e.RowHandle) == false) { e.RepositoryItem = EmptyEditor; }}}
去掉spinEdit文本框中的小数点
spinEdit1.Properties.IsFloatValue = false;
解决gridView1编辑时光标未离开单元格就直接点保存后,最新数据无法写入数据库。
//在保存前提交编辑数据 gridView1.PostEditor();
启用了奇偶行样式 gridView1.OptionsView.EnableAppearanceEvenRow = true;后,gridView1_RowStyle事件中的e.Appearance.BackColor属性不启作用,可以通过以下方法变向解决。
private void ConditionsAdjustment() { StyleFormatCondition cn; cn = new StyleFormatCondition(FormatConditionEnum.GreaterOrEqual, dgvPO.Columns["Status"], null, 1); cn.ApplyToRow = true; cn.Appearance.BackColor = Color.Gray; dgvPO.FormatConditions.Add(cn); //</gridControl1> 删除线 cn = new StyleFormatCondition(FormatConditionEnum.Equal, dgvPO.Columns["Status"], null, -1); cn.ApplyToRow = true; cn.Appearance.Font = new Font(AppearanceObject.DefaultFont, FontStyle.Strikeout); cn.Appearance.ForeColor = SystemColors.ControlDark; dgvPO.FormatConditions.Add(cn); //<gridControl1> }
gridView垂值滚动条事件和值
void gvFacility_TopRowChanged(object sender, EventArgs e) { int index= gvFacility.TopRowIndex; }
自定义绘制列标题CustomDrawColumnHeader为CheckBox
private void FrmAllPlan_Load(object sender, EventArgs e) { var itemIndex = gcResult.RepositoryItems.Add(new RepositoryItemCheckEdit()); var columnEdit = gcResult.RepositoryItems[itemIndex] as RepositoryItemCheckEdit; columnEdit.ValueChecked = true; columnEdit.ValueUnchecked = false; ColIsSelected.ColumnEdit = columnEdit; //dgvResult.CustomDrawColumnHeader+=dgvResult_CustomDrawColumnHeader; }
private void dgvResult_CustomDrawColumnHeader(object sender, DevExpress.XtraGrid.Views.Grid.ColumnHeaderCustomDrawEventArgs e) { if (e.Column == null) return; if (e.Column.AbsoluteIndex != 0) return; Rectangle rect = e.Bounds; rect.Inflate(-1, -1); e.Info.InnerElements.Clear(); e.Painter.DrawObject(e.Info); DrawCheckBox(e.Graphics, rect, e.Column.ColumnEdit as RepositoryItemCheckEdit, IsAllSelected()); e.Handled = true; } void DrawCheckBox(Graphics g,Rectangle r,RepositoryItemCheckEdit checkEdit,bool isCheck) { DevExpress.XtraEditors.ViewInfo.CheckEditViewInfo info = default(DevExpress.XtraEditors.ViewInfo.CheckEditViewInfo); DevExpress.XtraEditors.Drawing.CheckEditPainter painter = default(DevExpress.XtraEditors.Drawing.CheckEditPainter); DevExpress.XtraEditors.Drawing.ControlGraphicsInfoArgs args = default(DevExpress.XtraEditors.Drawing.ControlGraphicsInfoArgs); info = (CheckEditViewInfo)checkEdit.CreateViewInfo(); painter = (CheckEditPainter)checkEdit.CreatePainter(); info.EditValue = isCheck; info.Bounds = r; info.CalcViewInfo(g); args = new ControlGraphicsInfoArgs(info, new DevExpress.Utils.Drawing.GraphicsCache(g), r); painter.Draw(args); args.Cache.Dispose(); } private void dgvResult_MouseUp(object sender, MouseEventArgs e) { if(e.Button== System.Windows.Forms.MouseButtons.Left && e.Clicks==1) { GridView gridview = sender as GridView; if(gridview!=null) { GridHitInfo hitinfo = gridview.CalcHitInfo(e.Location); if(hitinfo.InRow==false && hitinfo.InColumn==true) { SetAllCheckBox(!IsAllSelected()); //if (AffectCheckBoxChange != null) // AffectCheckBoxChange(this, null); } } this.dgvResult.RefreshData(); DXMouseEventArgs args = DXMouseEventArgs.GetMouseArgs(e); args.Handled = true; } } private void SetAllCheckBox(bool p) { Model.BindCollection<ReportData> lstRe = gcResult.DataSource as Model.BindCollection<ReportData>; if (lstRe != null) { foreach (ReportData model in lstRe) { model.IsSelected = p; } } gcResult.RefreshDataSource(); } private bool IsAllSelected() { bool result = true; Model.BindCollection<ReportData> lstRe = gcResult.DataSource as Model.BindCollection<ReportData>; if (lstRe != null) { foreach (ReportData model in lstRe) { if (model.IsSelected == false) { result = false; break; } } } else { result = false; } return result; }
0 0
- DevExpress控件使用经验总结
- DevExpress 控件经验总结
- DevExpress控件
- DevExpress控件汉化
- DevExpress控件之gridControl
- DevExpress控件的使用
- TestComplete测试DevExpress控件
- DevExpress控件汉化详解
- DevExpress控件使用
- DevExpress控件汉化详解
- DevExpress控件使用
- DevExpress控件之皮肤
- progressBarControl控件(Devexpress)
- DevExpress控件之XtraTreeList
- devexpress 控件不见了
- DevExpress控件之"treeList"
- DevExpress控件汉化
- DevExpress 控件 使用
- 状压DP——hihoCoder 1048
- 2.(高级)CSS编码技巧之:相信自己的眼睛
- varchar和Nvarchar区别
- 说说进程与线程的区别与联系
- Android应用瘦身,从18MB到12.5MB
- DevExpress 控件经验总结
- Delphi 共享内存的应用
- JAVA4种线程池的使用
- Android网络监测
- 使用TinyXml 遍历XML元素名,查找并返回指定元素
- 大数运算-PAT乙级 B1017.A除以B
- ABAP CA CO CS等操作符
- Python学习笔记4
- 多媒体(视频播放,拍照,录像)