DevExpress學(xué)習(xí)總結(jié)DevExpress使用技巧實例_第1頁
DevExpress學(xué)習(xí)總結(jié)DevExpress使用技巧實例_第2頁
DevExpress學(xué)習(xí)總結(jié)DevExpress使用技巧實例_第3頁
DevExpress學(xué)習(xí)總結(jié)DevExpress使用技巧實例_第4頁
DevExpress學(xué)習(xí)總結(jié)DevExpress使用技巧實例_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

DevExpress過程中的以下總結(jié):1、Grid根據(jù)單元格設(shè)置行背景色:sender,RowCellStyleEventArgse){GridViewgv=senderasGridView;=CommonUtils.ObjectToInt32(gv.GetRowCellValue(e.RowHandle,gv.Columns.ColumnByFieldName("GOODSSTOCKQTY")));=CommonUtils.ObjectToInt32(gv.GetRowCellValue(e.RowHandle,if(goodsStockQty!=null){if(goodsStockQty>0){}{}}else{

=Color.Pink;if(productId==Constants.SMJH_ID){=Color.Pink;}if(productId==Constants.SMJH_ID){e.Appearance.BackColor=Color.Pink;}}}、c#程序查詢在客戶的電腦新建環(huán)境變量,變量名為:NLS_LANG值為:SIMPLIFIEDCHINESE_CHINA.ZHS16GBK3、數(shù)字控件去掉上下滾動箭頭:屬性:AllowMouseWheel:false4、CheckedComboBoxEdit下拉多選控件的使用:a、初始化:foreach(DataRowdrindt.Rows){this.chkcbGoodsType.Properties.Items.Add(new}第二種方法:CheckedListBoxItem[] itemListQuery = CheckedListBoxItem[listCustomerType.Count];intcheck=0;detinlistCustomerType){itemListQuery[check] = new det.DictDetailName);check++;}this.chkcbCustomerType.Properties.Items.AddRange(itemListQuery);(d和e)this.chkDriveTruckType.RefreshEditValue();或 者 this.chkcbGoodsType.Text dt.Rows[0]["GOODSTYPENAME"].ToString();第二種方法this.chkcbGoodsType.EditValue =newString());c、獲取選中的值:IList<object> list =this.chkcbGoodsType.Properties.Items.GetCheckedValues();stringgoodsType=""; foreach(objectobjinlist){第二種方法:

}5、ProgressBarControl進(jìn)度條:this.pBUpload.Properties.Maximum100;this.pBUpload.Properties.Step=1;pBUpload.Position=0;for(inti=1;i<101;i++){windows消息Application.DoEvents();this.pBUpload.PerformStep();}6、GridControl添加按鈕列:Buttons的Kind屬性設(shè)置為Glyph;Caption用于設(shè)置文字ButtonsTextOptionAppearanceHAlignment屬性設(shè)置為Near;7、treeList展示到某一級添加事件:NodesReloadednodes=treeListProType.Nodes;if(nodes!=null&&nodes.Count>0){foreach(TreeListNodenodeinnodes){if(node.Level==0){node.Expanded=true;}}}8、布局控件禁用仍然顯示文本標(biāo)題:Appearance--DisabledLayoutItem-ForeColor-ControlText;9、GridView某列用正則表達(dá)式限定編輯:行編輯:GridView某列用正則表達(dá)式時,從數(shù)據(jù)庫綁定數(shù)據(jù)時,如果是數(shù)字類型的,要用to_char(det.demandqty)轉(zhuǎn)換;10DateEdit設(shè)置:想要動態(tài)使其格式為"yyyy-MM-dd"或"yyyy-MM-ddHH:mm",Mask屬性設(shè)置EditMask='yyyy/MM/ddHH:mm:ss',=TrueVistaDisplayModeVistaEditTime屬性設(shè)置:yyyy/MM/ddHH:mm:ss2、日期控件中如果包含了日期+時分秒,可采用如下設(shè)置:設(shè)置以下屬性dateEdit1.Properties.VistaEditTime=DevExpress.Utils.DefaultBoolean.True;(+:dateEdit1.Properties.DisplayFormat.FormatString="g"dateEdit1.Properties.EditFormat.FormatString="g"dateEdit1.Properties.EditFormat.FormatType=DateTime+時間的長日期模式,還需要設(shè)置:VistaTimeProperties.DisplayForm3、日期控件只顯示日期:Mask--EditMask:yyyy/MM/ddUseMaskAsDisplayFormatTrue11、右鍵菜單:BarManager拉入窗體第二步:從工具箱中將PopupMenu拉入窗體,設(shè)置PopupMenu的Manager屬性為barManager1。Customize,然后再彈出的對話框中,點(diǎn)擊:Add,新建右鍵菜單就OK了。雙擊新建的菜單設(shè)置菜單點(diǎn)擊事件;下代碼段//在表格顯示右鍵菜單---在某個控件顯示右鍵菜單voidgridControl1_MouseUp(objectsender,MouseEventArgse){if(e.Button==MouseButtons.Right){popupMenu1.ShowPopup(Control.MousePosition);}}12、GridControl設(shè)置行背景色:private void gvProduct_CustomDrawCell(object DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgse){if(this.gvProduct.GetRow(e.RowHandle)==null){}{

return;//獲取所在行指定列的值string state = this.gvProduct.GetRowCellValue(e.RowHandle,"ISCHECKED").ToString();//比較指定列的狀態(tài)ifstateTrue"){}{}}}

Color.BlueViolet;//設(shè)置此行的背景顏色Color.White;//設(shè)置此行的背景顏色13、GridLookUp下拉框顯示高度:的高度;不顯示滾動條:VertScrollVisibility設(shè)置為 never;固定寬高:PopupSizeable 設(shè)置為false;14、GridControl光標(biāo)定位到某一個單元格:this.gridView1.FocusedRowHandle1;//行標(biāo)this.gridView1.FocusedColumnthis.dictCode;//某一列this.gridView1.ShowEditor();//打開行編輯15、GridControl屬性詳解:OptionsOptionsBehavior 視圖的行為選項AllowIncrementalSearch 允許用戶通過輸入想得到的列值來定位行AllowPartialRedrawOnScrolling 允許視圖在垂直滾動中局部刷新AutoExpandAllGroups 自動展開視圖中的所有組AutoPopulateColumns 列AutoSelectAllInEditor EnterF2來選擇該單元格的所有內(nèi)容AutoUpdateTotalSummary 當(dāng)列值發(fā)生改變時,自動更新匯總摘要數(shù)據(jù)CacheValuesOnRowUpdating 緩沖將被存入數(shù)據(jù)源的數(shù)據(jù)(當(dāng)一行數(shù)據(jù)要存入到數(shù)據(jù)源的檢查機(jī)制清空了,還可以恢復(fù))Editable 允許對單元格進(jìn)行編輯EditorShowMode 設(shè)置鼠標(biāo)激活單元格編輯器的模式FocusLeaveOnTab 個控件ImmediateUpdateRowPosition 否立即更新一行的位置16、lookupedit控件:的值:變 量 =this.lookupedit.editvalue.tostring() // 是perties.valuemember的值變 量 =this.lookupedit.text.trim() // 是perties.displaymember的值lookupeditcombox的一些效果,在實際的使用過程中在程序加載的時候會默認(rèn)的選擇第一項,它的設(shè)置是:lookupedit.itemindex=0; //選擇第一項值其實這個地方只要nulltextlookupedit1.editvalue=value;//datasouse,選擇與之匹配的值,沒有的情null,value的值必須與valuemember的數(shù)據(jù)類型一致。只顯示某列:lp.Properties.Columns.Add(new例子:DataTabledtDict=newDataTable();dtDict.Columns.Add("DictID",System.Type.GetType("System.Int32"));DataRowrow=dtDict.NewRow();row["DictID"]=10000001;row["DictName"]發(fā)貨規(guī)則";dtDict.Rows.Add(row);DataRowrow2=dtDict.NewRow();row2["DictID"]=10000002;="dtDict.Rows.Add(row2);lp.Properties.DataSource=dtDict;lp.Properties.DisplayMember="DictName";lp.Properties.ValueMember="DictID";lp.Properties.Columns.Add(newlp.ItemIndex0;//默認(rèn)選中17、treeList選中:(所有的子節(jié)點(diǎn)都選中,所有的子節(jié)點(diǎn)都沒選擇,一部分子節(jié)點(diǎn)選中DevXpress的TreeList控件很容易實現(xiàn)這一功能。設(shè)置TreeList.OptionsView.ShowCheckBoxes=true 設(shè)置TreeList.OptionsBehavior.AllowIndeterminateCheckState=true; 設(shè)置節(jié)點(diǎn)是否有中間狀態(tài),即一部分子節(jié)點(diǎn)選中,一部分子節(jié)點(diǎn)沒有選中設(shè)置這兩個屬性之后就實現(xiàn)了TreeListCheckBox,并且節(jié)點(diǎn)有三種狀態(tài)。TreeList的BeforeCheckNode實現(xiàn)功能的代碼如下:private void treeList1_AfterCheckNode(object DevExpress.XtraTreeList.NodeEventArgse){SetCheckedChildNodes(e.Node,e.Node.CheckState);e.Node.CheckState);}private void treeList1_BeforeCheckNode(object DevExpress.XtraTreeList.CheckNodeEventArgse){e.State=(e.PrevState==CheckState.Checked?CheckState.Unchecked:CheckState.Checked);}///<summary>///設(shè)置子節(jié)點(diǎn)的狀態(tài)///</summary>///<paramname="node"></param>///<paramname="check"></param>SetCheckedChildNodes(TreeListNodenode,CheckStatecheck){for(inti=0;i<node.Nodes.Count;i++){node.Nodes[i].CheckState=check;SetCheckedChildNodes(node.Nodes[i],check);}}///<summary>///設(shè)置父節(jié)點(diǎn)的狀態(tài)///</summary>///<paramname="node"></param>///<paramname="check"></param>privatevoidSetCheckedParentNodes(TreeListNodenode,CheckStatecheck){if(node.ParentNode!=null){boolb=false;for(inti=0;i<node.ParentNode.Nodes.Count;i++){if(!check.Equals(state)){b=!b;break;}}node.ParentNode.CheckState=b?CheckState.Indeterminate:check;SetCheckedParentNodes(node.ParentNode,check);}}TreeList.NodeCellStyle事件Node的顯示(Node的顯示)和狀態(tài)的改變都會觸發(fā)該事件。該事件主要用來改變Node的顯示樣式。private void treeList1_NodeCellStyle(object DevExpress.XtraTreeList.GetCustomNodeCellStyleEventArgse){if(e.Node.CheckState==CheckState.Unchecked){e.Appearance.Font = Font(DevExpress.Utils.AppearanceObject.DefaultFont,FontStyle.Strikeout);}}CheckState為Unchecked的節(jié)點(diǎn)的字帶有中劃線且背景灰色。TreeList.DoubleClick事件=false的情況下,雙Node才能觸發(fā)該事件。privatevoidtreeList1_DoubleClick(objectsender,EventArgse){=this.treeList1.FocusedNode;MessageBox.Show("Youclicked"+disPlayText);}TreeList的命中測試特性privatevoidtreeList1_MouseMove(objectsender,MouseEventArgse){TreeListHitInfohitInfo=treeList1.CalcHitInfo(point);switch(hitInfo.HitInfoType){caseHitInfoType.Cell:this.Cursor=Cursors.Hand;break;caseHitInfoType.NodeCheckBox:=Cursors.PanEast;break;default:=Cursors.Default;break;}}18、Grid控件經(jīng)典常用功能代碼:GridControl的刪除操作sender,EventArgse){if (XtraMessageBox.Show("請確定是否刪除當(dāng)前記錄?", "警告",MessageBoxButtons.YesNo,MessageBoxIcon.Warning)==DialogResult.Yes){delByCode(row["Code"].ToString());XtraMessageBox.Show("操作成功!");}}二、綁定非數(shù)據(jù)表中列Hashtableht=newHashtable();private void gridView6_CustomUnboundColumnData(object DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgse){GridViewView=senderasGridView;if(e.RowHandle>=0){View.Columns["needAlert"]);if(needAlert!=null&needAlert!=DBNull.Value&&needAlert.ToString().Trim()!="0"{decimalAverValue=Convert.ToDecimal(View.GetRowCellValue(e.RowHandle,View.Columns["Value"]));object MinValue = View.Columns["MinValue"]);object MaxVlaue = View.Columns["MaxValue"]);if(MinValue!=DBNull.Value&MinValue!=null&MaxVlaue.ToString()!=""&MaxVlaue!=DBNull.Value&&MaxVlaue!=null&MaxVlaue.ToString()!=""){decimal gridColumn2 =Convert.ToDecimal(View.GetRowCellValue(e.RowHandle,View.Columns["MinValue"]));decimal gridColumn1 =Convert.ToDecimal(View.GetRowCellValue(e.RowHandle,View.Columns["MaxValue"]));if(gridColumn2>AverValue||AverValue>gridColumn1){if(!ht.ContainsKey("pic"))GetImage(1));e.Value=ht["pic"];}}}}}///<summary>///由資源文件獲取圖片///</summary>///<paramname="key"></param>///<returns></returns>GetImage(intkey){Image img =urces.{0}.gif",key.ToString()),typeof(RiverInfos).Assembly);return ImageFormat.Gif);}///<summary>///動態(tài)根據(jù)條件設(shè)置行樣式///</summary>///<paramname="sender"></param>///<paramname="e"></param>private void gridView6_RowStyle(object DevExpress.XtraGrid.Views.Grid.RowStyleEventArgse){GridViewView=senderasGridView;if(e.RowHandle>=0){View.Columns["needAlert"]);if(needAlert!=null&needAlert!=DBNull.Value&&needAlert.ToString().Trim()!="0"{decimalAverValue=Convert.ToDecimal(View.GetRowCellValue(e.RowHandle,View.Columns["Value"]));object MinValue = View.Columns["MinValue"]);object MaxVlaue = View.Columns["MaxValue"]);if(MinValue!=DBNull.Value&MinValue!=null&MaxVlaue.ToString()!=""&MaxVlaue!=DBNull.Value&&MaxVlaue!=null&MaxVlaue.ToString()!=""){if(gridColumn2>AverValue||AverValue>gridColumn1){e.Appearance.ForeColor=Color.Red;}}}}}三、GridControl中顏色選擇控件private void gvMapColor_CustomUnboundColumnData(object sender,e){GridViewview=senderasGridView;DataViewdv=view.DataSourceasDataView;if(e.IsGetData){if(strVal!=""){}}else{

e.Value=Common.HexToColor(strVal);ColorcolorVal=(Color)e.Value;}}GridControl驗證示例/**////<summary>///初始化GridView,綁定數(shù)據(jù)///</summary>///<paramname="parentId"></param>privatevoidGridViewBindData(stringparentId){this.gridView1.Columns.Clear();this.gridCArea.DataSource=this.FDs.Tables[0].DefaultView;=-1;=-1;this.gridView1.Columns["reg_id"].Caption區(qū)劃編號";this.gridView1.Columns["reg_name"].Caption區(qū)劃名稱";="父區(qū)劃編號";this.gridView1.Columns["reg_desc"].Caption區(qū)劃描述";this.gridView1.Columns["parent_id"].ImageIndex=1;=0;RepositoryItemTextEdittextEditReg_Id=newRepositoryItemTextEdit();textEditReg_Id.Mask.EditMask=parentId+"\\d{2,3}";this.gridView1.Columns["reg_id"].ColumnEdit=textEditReg_Id;=newRepositoryItemMemoExEdit();node=this.treelArea.FocusedNode.ParentNode;DataSetds=areaSetupActionHelper.getDsRegionByParentId(fid);RepositoryItemLookUpEditlookUEParent_Id=newRepositoryItemLookUpEdit();lookUEParent_Id.Columns.Add(newLookUpColumnInfo("reg_id",40,區(qū)劃編號"));LookUpColumnInfo("reg_name",40,區(qū)劃名稱"));lookUEParent_Id.DataSource=ds.Tables[0].DefaultView;lookUEParent_Id.ValueMemberreg_id";lookUEParent_Id.DisplayMember="reg_id";=lookUEParent_Id;}/**////<summary>gridView單元格驗證的相關(guān)處理程序///</summary>///<paramname="sender"></param>///<paramname="e"></param>private void gridView1_ValidatingEditor(object DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgse){=="reg_id"){\n2~3位數(shù)據(jù)組成!";}if(this.gridView1.FocusedColumn.FieldName=="reg_name"){{e.Valid=false;\n120";}

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論