DevExpress控件开发常用要点(项目总结版)
使用DevExpress控件来做项目开发已经有很长一段时间了,在摸索开发到客户苛刻要求
的过程中,其中碰到过很多问题需要解决的,随着一个个问题的解决,也留下很多对
DevExpress控件的使用经验及教训,综合设计到的多个项目的问题,对这些开发常用的
要点进行总结,方便别人也方便自己。提供这些解决方法,一个可以快速应用到项目中,二
个也可以作为对界面开发的更高要求对待自己的项目,使得自己的东西更加完美,更加受欢迎。
1、GridControl控件的数据显示的样式控制
如上两图所示,我们有时候需要控制列表访问过的颜变化,或者是时间显示格式等内容,
这个时候设置GridView的RowCellStyle即可实现,如下所示。
DevExpress.XtraGrid.Views.Grid.RowCellStyleEventHandler(gridView1_
RowCellStyle);
void gridView1_RowCellStyle(object sender,
DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e)
控件的使用{
if (e.Column.FieldName == "PublishType")
{
if(e.CellValue != null&& e.CellValue.ToString() == "中介")
{
e.Appearance.BackColor = Color.DeepSkyBlue;
e.Appearance.BackColor2 = Color.LightCyan;
}
}
if (e.Column.FieldName == "PublishTime")
{
e.Column.DisplayFormat.FormatString = "yyyy-MM-dd HH:mm:ss";
}
if (e.Column.FieldName == "Title")
{
string id =
idView1.GetRowCellDisplayText(e.RowHandle, "Id");
if (historyDict.ContainsKey(id))
{
e.Appearance.BackColor = Color.DeepSkyBlue;
e.Appearance.BackColor2 = Color.LightCyan;
}
}
}
2、在LayoutControl布局中固定控件宽度
固定宽度后的真实效果。
为了使得界面统一性及更好的控制性,我们一般使用LayoutControl布局控件作为我们添加控件的布局容器,但是这个控件默认是对其中的控件进行按窗口比例进行缩放的,有些客户就不喜欢这些特点,因为他们的显示器可能是30寸的(夸张一点点,不过很多宽屏的),这样很多输入框就会被拉得很长,这样小小一个输入框,可能有很长的一段空白的距离,那样可能真的不好看,如下图所示。
设置固定宽度,其实不是很麻烦,需要设置几个属性即可
1) 设置控件的SizeConstraintsType为
DevExpress.XtraLayout.SizeConstraintsType.Custom;
2)设置控件的FillControlToClientArea 为False
3)设置控件的ControlMaxSize的大小(必要时也可以设置ControlMinSize),设置例子如下所示。
3、GridControl中的GridView内容打印
由于GridView的良好封装性,实现打印的代码很简单。
private void menu_Print_Click(object sender, EventArgs e) {
PrintableComponentLink link = new
PrintableComponentLink(new PrintingSystem());
link.Component = idControl1;
link.Landscape = true;
link.PaperKind = System.Drawing.Printing.PaperKind.A3;
link.CreateMarginalHeaderArea += new CreateAreaEventHandler(Link_CreateMarginalHeaderArea);
link.CreateDocument();
link.ShowPreview();
}
private void Link_CreateMarginalHeaderArea(object sender, CreateAreaEventArgs e)
{
string title = string.Format("年度大体检-({0}年度)", Year.Text);
PageInfoBrick brick =
e.Graph.DrawPageInfo(PageInfo.None, title, Color.DarkBlue,
new RectangleF(0, 0, 100, 21), BorderSide.None);
brick.LineAlignment = BrickAlignment.Center;
brick.Alignment = BrickAlignment.Center;
brick.AutoWidth = true;
brick.Font = new System.Drawing.Font("宋体", 11f, FontStyle.Bold);
}
4、设置GridView的行指示器(行头)显示行号
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论