当前位置:文档之家› DevExpress学习小结

DevExpress学习小结

以下内容为学习DevExpress过程中的以下总结:1、Grid根据单元格设置行背景色:private void gvTaskOrderDetail_RowCellStyle(object sender, RowCellStyleEventArgs e) {GridView gv = sender as GridView;Int32? goodsStockQty = CommonUtils.ObjectToInt32(gv.GetRowCellValue(e.RowHandle,gv.Columns.ColumnByFieldName("GOODSSTOCKQTY")));Int32? productId = CommonUtils.ObjectToInt32(gv.GetRowCellValue(e.RowHandle,gv.Columns.ColumnByFieldName("TASKPRODUCTID")));if (goodsStockQty != null){if (goodsStockQty > 0){e.Appearance.BackColor = Color.Pink;}else{if (productId == Constants.SMJH_ID){e.Appearance.BackColor = Color.Pink;}}}else{if (productId == Constants.SMJH_ID){e.Appearance.BackColor = Color.Pink;}}}2、c#程序查询oracle,在界面数据显示“?”,解决方法:在客户的电脑新建环境变量,变量名为:NLS_LANG值为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK3、数字控件去掉上下滚动箭头:属性:AllowMouseWheel:false4、CheckedComboBoxEdit下拉多选控件的使用:a、初始化:foreach (DataRow dr in dt.Rows){this.chkcbGoodsType.Properties.Items.Add(newComboxInfo(dr["GOODSTYPEID"].ToString(), dr["GOODSTYPENAME"].ToString()));}第二种方法:CheckedListBoxItem[] itemListQuery = new CheckedListBoxItem[listCustomerType.Count];int check = 0;foreach (DictDetailVo det in listCustomerType){itemListQuery[check] = new CheckedListBoxItem(det.DictDetailCode, det.DictDetailName);check++;}this.chkcbCustomerType.Properties.Items.AddRange(itemListQuery);b、后台赋值:(id和name对应)第一种方法:this.chkcbGoodsType.EditValue = dt.Rows[0]["GOODSTYPEID"].ToString();this.chkDriveTruckType.RefreshEditValue();或者this.chkcbGoodsType.Text = dt.Rows[0]["GOODSTYPENAME"].ToString();第二种方法this.chkcbGoodsType.EditValue =new CheckedListBoxItem( dt.Rows[0]["GOODSTYPEID"].ToString(),dt.Rows[0]["GOODSTYPENAME"].To String());c、获取选中的值:IList<object> list = this.chkcbGoodsType.Properties.Items.GetCheckedValues();string goodsType=""; foreach (object obj in list){goodsType += "," + ((ComboxInfo)obj).Code.ToString();}第二种方法:string str=this.chkcbCustomerTypeQuery.EditValue;5、ProgressBarControl进度条:this.pBUpload.Properties.Maximum = 100;this.pBUpload.Properties.Step = 1;pBUpload.Position = 0;for (int i = 1; i < 101; i++){//处理当前消息队列中的所有windows消息Application.DoEvents();this.pBUpload.PerformStep();}6、GridControl添加按钮列:把列的ColumnEdit属性设置为RepositoryItemButtonEdit把TextEditStyle属性设置为HideTextEditor;把Buttons的Kind属性设置为Glyph;把Button的Caption用于设置文字把Buttons的TextOption的Appearance的HAlignment属性设置为Near;ButtonStyle设置为Office2003;7、treeList展示到某一级添加事件:NodesReloadedTreeListNodes nodes = treeListProType.Nodes;if (nodes != null && nodes.Count > 0){foreach (TreeListNode node in nodes){if (node.Level == 0){node.Expanded = true;}}}8、布局控件禁用仍然显示文本标题:设置:layoutControl1Appearance--DisabledLayoutItem-ForeColor-ControlText;Appearance--DisabledLayoutItem-Options-UseForeColor-True;9、GridView某列用正则表达式限定编辑:行编辑:GridView某列用正则表达式时,从数据库绑定数据时,如果是数字类型的,要用to_char(det.demandqty) 转换;10、日期控件DateEdit设置:1、DateEdit,想要动态使其格式为"yyyy-MM-dd"或"yyyy-MM-dd HH:mm",用Mask属性设置EditMask = 'yyyy/MM/dd HH:mm:ss',UseMaskAsDisplayFormat = True日期框显示时间的设置VistaDisplayModeVistaEditTime控件EditMask和DisplayFormat属性设置:yyyy/MM/dd HH:mm:ss2、日期控件中如果包含了日期+时分秒,可采用如下设置:设置以下属性dateEdit1.Properties.VistaDisplayMode = DevExpress.Utils.DefaultBoolean.True;dateEdit1.Properties.VistaEditTime = DevExpress.Utils.DefaultBoolean.True;设置显示长日期模式(日期+时间):dateEdit1.Properties.DisplayFormat.FormatString="g"dateEdit1.Properties.DisplayFormat.FormatType=DateTimedateEdit1.Properties.EditFormat.FormatString="g"dateEdit1.Properties.EditFormat.FormatType=DateTime设置为Vista模式时,如果要显示日期+时间的长日期模式,还需要设置:VistaTimeProperties.DisplayForm3、日期控件只显示日期:Mask--EditMask:yyyy/MM/ddUseMaskAsDisplayFormat = True11、右键菜单:第一步:从工具箱中将BarManager拉入窗体第二步:从工具箱中将PopupMenu拉入窗体,设置PopupMenu的Manager属性为barManager1。

第三步:右击PopupMenu在弹出的菜单内选中Customize,然后再弹出的对话框中,点击:弹出菜单编辑器,点击Add,新建右键菜单就OK了。

双击新建的菜单设置菜单点击事件;第四步:在需要弹出右键菜单的控件上,使用xxxx_MouseUp事件弹出右键菜单,里添加以下代码段//在表格显示右键菜单---在某个控件显示右键菜单private void gridControl1_MouseUp(object sender, MouseEventArgs e){if (e.Button == MouseButtons.Right){popupMenu1.ShowPopup(Control.MousePosition);}}12、GridControl设置行背景色:private void gvProduct_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e){if (this.gvProduct.GetRow(e.RowHandle) == null){return;}else{//获取所在行指定列的值string state = this.gvProduct.GetRowCellValue(e.RowHandle, "ISCHECKED").ToString();//比较指定列的状态if (state == "True"){e.Appearance.BackColor = Color.BlueViolet;//设置此行的背景颜色}else{e.Appearance.BackColor = Color.White;//设置此行的背景颜色}}}13、GridLookUp下拉框显示高度:下拉框的宽高,设置PopupFormSize的高度;不显示滚动条:VertScrollVisibility 设置为never;固定宽高:PopupSizeable 设置为false;14、GridControl光标定位到某一个单元格:this.gridView1.FocusedRowHandle = 1;//行标this.gridView1.FocusedColumn = this.dictCode;//某一列this.gridView1.ShowEditor();//打开行编辑15、GridControl属性详解:OptionsOptionsBehavior 视图的行为选项AllowIncrementalSearch 允许用户通过输入想得到的列值来定位行AllowPartialRedrawOnScrolling 允许视图在垂直滚动中局部刷新AutoExpandAllGroups 自动展开视图中的所有组AutoPopulateColumns 当视图中没有某些数据源中的字段时,在视图中自动创建这些列AutoSelectAllInEditor 在一个单元格编辑中,是否允许通过Enter或F2来选择该单元格的所有内容AutoUpdateTotalSummary 当列值发生改变时,自动更新汇总摘要数据CacheValuesOnRowUpdating 缓冲将被存入数据源的数据(当一行数据要存入到数据源时,Grid可以将它的值存入到一个内部的缓冲器中。

相关主题