DevExpress中GridControl使用技巧總結(jié)_第1頁
DevExpress中GridControl使用技巧總結(jié)_第2頁
DevExpress中GridControl使用技巧總結(jié)_第3頁
DevExpress中GridControl使用技巧總結(jié)_第4頁
DevExpress中GridControl使用技巧總結(jié)_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

DevExpress中GridControl使用技巧總結(jié)GridControl詳解(基礎(chǔ))控件常用屬性設(shè)置1、如何解決單擊記錄整行選中的問題View->OptionsBehavior->EditorShowMode設(shè)置為:Click2、如何新增一條記錄(1)、gridView.AddNewRow( )(2)、實現(xiàn)gridView_InitNewRow事件3、如何解決GridControl記錄能獲取而沒有顯示出來的問題gridView.populateColumns( );4、如何讓行只好選擇而不可以編輯(或編寫某一單元格)(1)、View->OptionsBehavior->EditorShowMode設(shè)置為:Click(2)、View->OptionsBehavior->Editable設(shè)置為:false5、如何禁用GridControl中單擊列彈出右鍵菜單設(shè)置RunDesign->OptionsMenu->EnableColumnMenu設(shè)置為:false6、如何隱蔽GridControl的GroupPanel表頭設(shè)置RunDesign->OptionsView->ShowGroupPanel設(shè)置為:false7、如何禁用GridControl中列頭的過濾器過濾器如以下圖所示:設(shè)置RunDesign->OptionsCustomization->AllowFilter設(shè)置為:false8、如何在盤問獲取0條記錄時顯示自定義的字符提示/顯示以以下圖:方法以下://WhennoRecordsAreBeingDisplayedprivatevoidgridView1_CustomDrawEmptyForeground(objectsender,CustomDrawEventArgse){//方法一(此方法為GridView設(shè)置了數(shù)據(jù)源綁準(zhǔn)時,可用)ColumnViewcolumnView=senderasColumnView;BindingSourcebindingSource=this.gridView1.DataSourceasBindingSource;if(bindingSource.Count==0){stringstr='沒有盤問到你所想要的數(shù)據(jù)!';Fontf=newFont('宋體',10,FontStyle.Bold);Rectangler=newRectangle(e.Bounds.Top+5,5);e.Graphics.DrawString(str,f,Brushes.Black,r);}//方法二(此方法為GridView沒有設(shè)置數(shù)據(jù)源綁準(zhǔn)時,使用,一般使用此種方法)if(this._flag){if(this.gridView1.RowCount==0){stringstr='沒有盤問到你所想要的數(shù)據(jù)!';Fontf=newFont('宋體',10,FontStyle.Bold);Rectangler=newRectangle(e.Bounds.Left+5,e.Bounds.Top+5,e.Bounds.Width-5,e.Bounds.Height-5);e.Graphics.DrawString(str,f,Brushes.Black,r);}}}9、如何顯示水平滾動條?設(shè)置this.gridView.OptionsView.ColumnAutoWidth=false;10、如何定位到第一條數(shù)據(jù)/記錄?設(shè)置this.gridView.MoveFirst( )11、如何定位到下一條數(shù)據(jù)/記錄?設(shè)置this.gridView.MoveNext( )12、如何定位到最后一條數(shù)據(jù)/記錄?設(shè)置this.gridView.MoveLast( )13、設(shè)置成一次選擇一行,并且不可以被編寫this.gridView1.FocusRectStyle=wFocus;this.gridView1.OptionsBehavior.Editable=false;edCell=false;14、如何顯示行號?this.gridView1.IndicatorWidth=40;//顯示行的序號privatevoidgridView1_CustomDrawRowIndicator(objectsender,RowIndicatorCustomDrawEventArgse){if(e.Info.IsRowIndicator&&e.RowHandle>=0){

e.Info.DisplayText=(e.RowHandle+1).ToString( );

}

}15、如何讓各列頭嚴禁挪動?設(shè)置=false;16、如何讓各列頭嚴禁排序?設(shè)置gridView1.OptionsCustomization.AllowSort=false;17、如何嚴禁各列頭改變列寬?設(shè)置gridView1.OptionsCustomization.AllowColumnResizing=false;GridControl詳解(一)原汁原味的表格展現(xiàn)Dev控件中的表格控件GridControl控件特別強盛。但是,一些細枝末節(jié)的地方有時用起來不好找挺討厭的。使用過程中,多半借助Demo和英文幫助文檔。網(wǎng)上詳細的使用方法也多數(shù)瑣碎。偶遇一個簡單并且詳細的使用文檔。好記性不如爛筆頭!轉(zhuǎn)載過來,整理整剪發(fā)出來做個記錄,總合有十個小節(jié)。做的特別精巧,特別感謝原作者。插件所在地點使用時拖拽過來,以下所示即便拖拽過來紋絲沒動的樣子:在程序中寫入成立一個表格的代碼:[csharp]viewplaincopyprint?1.privateDataTableInitDt( )2.{3.DataTabledt=newDataTable('個人簡歷');4.dt.Columns.Add('id',typeof(int));5.dt.Columns.Add('name',typeof(string));6.dt.Columns.Add('sex',typeof(int));7.dt.Columns.Add('address',typeof(string));8.dt.Columns.Add('aihao',typeof(string));9.dt.Columns.Add('photo',typeof(string));10.dt.Rows.Add(newobject[]{1,'張三',1,'東大街6號','看書

',''});11.dt.Rows.Add(newobject[]{1,'王五',0,'西大街2號','上網(wǎng),游戲',''});12.dt.Rows.Add(newobject[]{1,'李',1,'南大街3號','上網(wǎng),逛街',''});13.dt.Rows.Add(newobject[]{1,'錢八',0,'北大街5號','上網(wǎng),逛街,看書,游戲',''});14.dt.Rows.Add(newobject[]{1,'趙九',1,'中大街1號','看書,逛街,游戲',''});15.returndt;16.}17.privateDataTableInitDt( ){DataTabledt=newDataTable('個人簡歷');dt.Columns.Add('id',typeof(int));dt.Columns.Add('name',typeof(string));dt.Columns.Add('sex',typeof(int));dt.Columns.Add('address',typeof(string));dt.Columns.Add('aihao',typeof(string));dt.Columns.Add('photo',typeof(string));dt.Rows.Add(newobject[]{1,'張三',1,'東大街6號','看書',''});dt.Rows.Add(newobject[]{1,'王五',0,'西大街2號','上網(wǎng),游戲',''});dt.Rows.Add(newobject[]{1,'李四',1,'南大街3號','上網(wǎng),逛街',''});dt.Rows.Add(newobject[]{1,'錢八',0,'北大街5號','上網(wǎng),逛街,看書,游戲',''});dt.Rows.Add(newobject[]{1,'趙九',1,'中大街1號','看書,逛街,游戲',''});returndt;}書寫gridControl1綁定數(shù)據(jù)方法:[csharp]viewplaincopyprint?1.privatevoidBindDataSource(DataTabledt)2.{3.//綁定DataTable4.gridControl1.DataSource=dt;5.//綁定DataSet6.//gridControl1.DataSource=ds;7.//gridControl1.DataMember='表名';8.}privatevoidBindDataSource(DataTabledt){//綁定DataTablegridControl1.DataSource=dt;//綁定DataSet//gridControl1.DataSource=ds;//gridControl1.DataMember='表名';}程序調(diào)用:BindDataSource(InitDt( ));體現(xiàn)結(jié)果以下:GridControl詳解(二)表格的列名配置點擊RunDesigner控件上的按鈕,彈出視圖設(shè)計窗口:列配置:我們配置完列名后,會發(fā)現(xiàn)設(shè)計視圖發(fā)生了變化:運行結(jié)果:GridControl詳解(三)列數(shù)據(jù)的格式設(shè)置為了測試方便,我們加入新的3列,格式分別是數(shù)據(jù),時間,字符串。代碼增添以下部分:

[csharp]viewplaincopyprint?1.

//格式增添

2.

dt.Columns.Add('

數(shù)據(jù)',typeof(decimal));3.dt.Columns.Add('

時間',typeof(DateTime));4.dt.Columns.Add('

自定義

',typeof(string));5.dt.Rows.Add(newobject[]{1,'張三',1,'東大街6號','看書','',-52.874,'2011-8-517:52:55','###'});6.dt.Rows.Add(newobject[]{1,'王五',0,'西大街2號','上網(wǎng),游戲','',-37.257,'2011-8-517:52:55'});7.dt.Rows.Add(newobject[]{1,'李四',1,'南大街3號','上網(wǎng),逛街','',-54.254,'2011-8-917:52:55'});8.dt.Rows.Add(newobject[]{1,'錢八',0,'北大街5號','上網(wǎng),逛街,看書,游戲','',-35.127,'2011-8-917:52:55'});9.dt.Rows.Add(newobject[]{1,'趙九',1,'中大街1號','看書,逛街,游戲','',-29.548,'2011-8-920:52:55'});//格式增添dt.Columns.Add('數(shù)據(jù)',typeof(decimal));dt.Columns.Add('時間',typeof(DateTime));dt.Columns.Add('自定義',typeof(string));dt.Rows.Add(newobject[]{1,'張三',1,'東大街6號','看書','',-52.874,'2011-8-517:52:55','###'});dt.Rows.Add(newobject[]{1,'王五',0,'西大街2號','上網(wǎng),游戲','',-37.257,'2011-8-517:52:55'});dt.Rows.Add(newobject[]{1,'李四',1,'南大街3號','上網(wǎng),逛街','',-54.254,'2011-8-917:52:55'});dt.Rows.Add(newobject[]{1,'錢八',0,'北大街5號','上網(wǎng),逛街,看書,游戲','',-35.127,'2011-8-917:52:55'});dt.Rows.Add(newobject[]{1,'趙九',1,'中大街1號','看書,逛街,游戲','',-29.548,'2011-8-920:52:55'});給gridControl1增添3列,對應(yīng)上述三列。數(shù)據(jù):詳細數(shù)據(jù)公式可以查察輸入控件的MASK設(shè)置器,里面有所有的格式公式:運轉(zhuǎn)結(jié)果:時間:自定義:事件變換:看法明確:1.gridControl1的每一列原始數(shù)據(jù)是Value,但是顯示數(shù)據(jù)是DisplayText,默認DisplayText的值即是Value經(jīng)過DisplayFormat變換以后的值。2.gridControl下的事件一般是包含表格GridView切換,點擊,改正的事件,用的不多;每一個GridView下的事件包含行列辦理,菜單顯示,分組排序等事件,我們常用。(所有在使用事件時,必定要明確是control事件還是view事件)GridView存在事件:自定義列顯示事件增添事件:extEventArgse)2.{3.=='sex')4.{5.switch(e.Value.ToString( ).Trim( ))6.{7.case'1':8.e.DisplayText='男';9.break;10.case'0':11.e.DisplayText='女';12.break;13.default:14.e.DisplayText='';15.break;16.}}18.}privatevoidgridView1_CustomColumnDisplayText(objectsender,DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgse){{{

if(e.Column.FieldName=='sex')switch(e.Value.ToString( ).Trim( ))case'1':e.DisplayText='

男';

break;case'0':

e.DisplayText='

女';break;

default:e.DisplayText='';break;果:GridControl時間分第一組:

}詳解(四)分組排序匯總按性別分第二組:

}

}顯示結(jié)分組:按顯示結(jié)果:高級設(shè)置:將所有組睜開代碼:gridView1.ExpandAllGroups( );名,GridView級事件

顯示結(jié)果:自定義組增添事件:[csharp]viewplaincopyprint?1.

privatevoidgridView1_CustomDrawGroupRow(objectsender,EventArgse)2.{3.GridGroupRowInfoGridGroupRowInfo=e.InfoasGridGroupRowInfo;4.GridGroupRowInfo.GroupText='

第'+(e.RowHandle).ToString( )+'

'+GridGroupRowInfo.EditValue.ToString( );5.

}privatevoidgridView1_CustomDrawGroupRow(objectsender,EventArgse){GridGroupRowInfoGridGroupRowInfo=e.InfoasGridGroupRowInfo;GridGroupRowInfo.GroupText='

第'+(e.RowHandle).ToString( )+'

'+GridGroupRowInfo.EditValue.ToString( );}

顯示結(jié)果:注意:每一行都有一個RowHandle屬性,一般行的RowHandle為非負整數(shù),從0開始;組行排序:排序設(shè)置顯示結(jié)果:匯總:匯總數(shù)據(jù)列設(shè)置注意:匯總結(jié)果是顯示在Footer面板中的,gridControl中的Footer面板默認是不顯示的,因此假如要匯總數(shù)據(jù),那么一定先設(shè)置Footer面板顯示。顯示結(jié)果:組計:代碼:[csharp]viewplaincopyprint?1.yItemType.Sum,'數(shù)據(jù)',gridColumn7,'組計:{0}');gridView1.GroupSummary.Add(DevExpress.Data.SummaryItemType.Sum,'數(shù)據(jù)',gridColumn7,'組計:{0}');結(jié)果顯示GridControl詳解(五)設(shè)置行備注和行號備注顯示設(shè)置設(shè)置備注字段顯示結(jié)果:可以寫入按鍵事件F3,用以開關(guān)備注顯示[csharp]viewplaincopyprint?1.privatevoidForm4_KeyUp(objectsender,KeyEventArgse)2.{3.if(e.KeyCode==Keys.F3)4.{5.=!gridView1.OptionsView.ShowPreview;6.}7.}privatevoidForm4_KeyUp(objectsender,KeyEventArgse){if(e.KeyCode==Keys.F3){=!gridView1.OptionsView.ShowPreview;}}行號顯示要用到的事件:代碼:[csharp]viewplaincopyprint?1.privatevoidgridView1_CustomDrawRowIndicator(objectsender,wEventArgse)2.{3.if(e.Info.IsRowIndicator)4.{5.e.Info.DisplayText='Row'+e.RowHandle.ToString( );6.}7.}8.gridView1.IndicatorWidth=70;privatevoidgridView1_CustomDrawRowIndicator(objectsender,wEventArgse){if(e.Info.IsRowIndicator){e.Info.DisplayText='Row'+e.RowHandle.ToString( );}}gridView1.IndicatorWidth=70;顯示結(jié)果GridControl詳解(六)款式設(shè)置表格款式:全局設(shè)置例子:例子:列款式:只作用于當(dāng)前的列通用款式:外觀設(shè)定注意:款式設(shè)定都是同樣的,Appearance前綴。GridControl詳解(七)事件[csharp]viewplaincopyprint?1.privatevoidgridView1_RowCellClick(objectsender,e)2.{3.if(e.Button==MouseButtons.Left)4.{5.//鼠標(biāo)的那個按鈕按下6.}7.if(e.Clicks==2)8.{9.//鼠標(biāo)點擊次數(shù)10.}11.if(e.Delta>0)12.{13.//鼠標(biāo)滾輪轉(zhuǎn)動方向14.}15.if(e.X>0&e.Y>0)16.{17.//鼠標(biāo)的坐標(biāo)18.}19.if(e.RowHandle>0)20.{21.//點擊的行號22.}23.if(e.CellValue!=null)24.{25.//點擊的單元格中的值26.}27.if(e.Column!=null)28.{29.//點擊的單元格所屬列信息30.}31.}32.33.privatevoidgridView1_RowClick(objectsender,DevExpress.XtraGrid.Views.Grid.RowClickEventArgse)34.{35.if(e.Button==MouseButtons.Left)36.{37.//鼠標(biāo)的那個按鈕按下38.}39.if(e.Clicks==2)40.{41.//鼠標(biāo)點擊次數(shù)42.}43.if(e.Delta>0)44.{45.//鼠標(biāo)滾輪轉(zhuǎn)動方向46.}47.if(e.X>0&e.Y>0)48.{49.//鼠標(biāo)的坐標(biāo)50.}51.if(e.RowHandle>0)52.{53.//點擊的行號54.}55.}privatevoidgridView1_RowCellClick(objectsender,e){if(e.Button==MouseButtons.Left){//鼠標(biāo)的那個按鈕按下}if(e.Clicks==2){//鼠標(biāo)點擊次數(shù)}if(e.Delta>0){//鼠標(biāo)滾輪轉(zhuǎn)動方向}if(e.X>0&e.Y>0){//鼠標(biāo)的坐標(biāo)}if(e.RowHandle>0){//點擊的行號}if(e.CellValue!=null){//點擊的單元格中的值}if(e.Column!=null){//點擊的單元格所屬列信息}}privatevoidgridView1_RowClick(objectsender,DevExpress.XtraGrid.Views.Grid.RowClickEventArgse){

if(e.Button==MouseButtons.Left){

//鼠標(biāo)的那個按鈕按下

}if(e.Clicks==2)

{

//鼠標(biāo)點擊次數(shù)

}

if(e.Delta>0){

//鼠標(biāo)滾輪轉(zhuǎn)動方向

}if(e.X>0&e.Y>0){//鼠標(biāo)的坐標(biāo)}if(e.RowHandle>0){//點擊的行號}}重新繪制列款式事件:gridView1_CustomDrawCell代碼:[csharp]viewplaincopyprint?1.privatevoidgridView1_CustomDrawCell(objectsender,entArgse)2.{3.if(e.Column.FieldName=='數(shù)據(jù)')4.{5.GridCellInfoGridCellInfo=e.CellasGridCellInfo;6.if(GridCellInfo.IsDataCell&&double.Parse(GridCellInfo.CellValue.ToString( ))7.e.Appearance.BackColor=Color.Yellow;8.elseif(GridCellInfo.IsDataCell&&double.Parse(GridCellInfo.CellValue.ToString( ))>-309.&&double.Parse(GridCellInfo.CellValue.ToString( ))10.e.Appearance.BackColor=Color.Green;11.elseif(GridCellInfo.IsDataCell&&double.Parse(GridCellInfo.CellValue.ToString( ))>-50)12.entArgse){

if(e.Column.FieldName=='

數(shù)據(jù)

'){GridCellInfoGridCellInfo=e.CellasGridCellInfo;if(GridCellInfo.IsDataCell&&double.Parse(GridCellInfo.CellValue.ToString( ))e.Appearance.BackColor=Color.Yellow;elseif(GridCellInfo.IsDataCell&&double.Parse(GridCellInfo.CellValue.ToString( ))>-30&&double.Parse(GridCellInfo.CellValue.ToString( ))e.Appearance.BackColor=Color.Green;elseif(GridCellInfo.IsDataCell&&double.Parse(GridCellInfo.CellValue.ToString( ))>-50)e.Appearance.BackColor=Color.Red;}}重新計算備注事件:gridView1_CalcPreviewText代碼:[csharp]viewplaincopyprint?1.privatevoidgridView1_CalcPreviewText(objectsender,gse)2.{3.DataRowdr=gridView1.GetDataRow(e.RowHandle);4.e.PreviewText=dr['name'].ToString( )+':'+dr['aihao'].ToString( );5.}privatevoidgridView1_CalcPreviewText(objectsender,gse){DataRowdr=gridView1.GetDataRow(e.RowHandle);

e.PreviewText=dr['name'].ToString( )+':'+dr['aihao'].ToString( );}

注意:GridView

中大多數(shù)事件我們都會并且一定用到

e這個參數(shù),我們可以從

e這個參數(shù)中獲取好多信息,包含單元格、列、行、表格、GridControl的信息。我們要依據(jù)事件的意義來認識這個e是單元格級其余,或是行級其余,或是列級其余等,由于我們可以獲取e的層級以上的信息,層級以下的信息就不可以獲取了。e中的屬性都是迥然不同,此中最常用的是e.RowHandle這個屬性,它代表行號的意思,經(jīng)過gridView1.GetDataRow(e.RowHandle)方法可以獲取這一行的數(shù)據(jù)行DataRow;并以此來做好多操作。上述我們也說過組行的RowHandle為負數(shù),我們經(jīng)過GetDataRow獲取數(shù)據(jù)行是錯誤的,這時我們經(jīng)過gridView1.GetDataRowHandleByGroupRowHandle(e.RowHandle);方法來轉(zhuǎn)變,這時獲取的數(shù)據(jù)行是該組的第一行數(shù)據(jù)。在此我們需特別注意。假如加入上述變換,我們選擇數(shù)據(jù)時每組第一行數(shù)據(jù)就會重復(fù),我們要做去重復(fù)辦理。皮膚設(shè)置GridControl詳解(八)菜單菜單控件拖入窗口中顯示以下設(shè)置popupMenu設(shè)置barManager設(shè)置controller增添菜單項彈出配置窗口一般菜單項設(shè)置對應(yīng)屬性以下:對應(yīng)事件:選擇菜單項設(shè)置事件同上,能否可見同上。子菜單項設(shè)置能否可見同上,極少去寫他的點擊事件,一般都寫的是他的子菜單中點擊事件。編寫菜單項設(shè)置菜單分組設(shè)置GridControl詳解(九)表格中的控件選擇完成控件后,可用+號點開ColumnEdit列,改控件的種類是RepositoryItem種類的,其相應(yīng)的屬性和相應(yīng)的控件屬性是近似的成立數(shù)據(jù)如下:[csharp]viewplaincopyprint?1.DataTabledt=newDataTable( );2.dt.Columns.Add('名稱');3.dt.Columns.Add('范圍');4.dt.Columns.Add('小區(qū)總數(shù)');5.dt.Columns.Add('種類');6.dt.Columns.Add('子種類');7.dt.Columns.Add('子片區(qū)數(shù)目');8.dt.Columns.Add('責(zé)任人');9.dt.Columns.Add('編號');10.dt.Columns.Add('選擇');11.12.dt.Rows.Add(newobject[]{'片區(qū)1','范圍','5','線','一般公路','5','qiangfei','1','0'});13.dt.Rows.Add(newobject[]{'片區(qū)2','范圍','5','線','一般公路','5','qiangfei','2','0'});14.dt.Rows.Add(newobject[]{'片區(qū)3','范圍','5','線','一般公路','5','qiangfei','3','1'});15.dt.Rows.Add(newobject[]{'片區(qū)4','范圍','5','線','一般公路','5','qiangfei','4','1'});16.dt.Rows.Add(newobject[]{'片區(qū)5','范圍','5','線','一般公路','5','qiangfei','5','0'});17.dt.Rows.Add(newobject[]{'片區(qū)6','范圍','5','線','一般公路','5','qiangfei','6','1'});18.dt.Rows.Add(newobject[]{'片區(qū)7','范圍','5','線','一般公路','5','qiangfei','7','1'});19.dt.Rows.Add(newobject[]{'片區(qū)8','范圍','5','線','一般公路','5','qiangfei','8','0'});20.dt.Rows.Add(newobject[]{'

片區(qū)

9','范圍','5','

線','一般公路','5','qiangfei','9','0'});21.dt.Rows.Add(newobject[]{'片區(qū)10','范圍','5','線','一般公路','5','qiangfei','10','1'});22.dt.Rows.Add(newobject[]{'片區(qū)11','范圍','5','線','一般公路','5','qiangfei','11','1'});23.dt.Rows.Add(newobject[]{'片區(qū)12','范圍','5','線','一般公路','5','qiangfei','12','0'});24.25.gridControl1.DataSource=dt;DataTabledt=newDataTable( );dt.Columns.Add('名稱');dt.Columns.Add('范圍');dt.Columns.Add('小區(qū)總數(shù)');dt.Columns.Add('種類');dt.Columns.Add('子種類');dt.Columns.Add('子片區(qū)數(shù)目');dt.Columns.Add('責(zé)任人');dt.Columns.Add('編號');dt.Columns.Add('選擇');dt.Rows.Add(newobject[]{'片區(qū)1','范圍','5','線','一般公路','5','qiangfei','1','0'});dt.Rows.Add(newobject[]{'片區(qū)2','范圍','5','線','一般公路','5','qiangfei','2','0'});dt.Rows.Add(newobject[]{'片區(qū)3','范圍','5','線','一般公路','5','qiangfei','3','1'});dt.Rows.Add(newobject[]{'片區(qū)4','范圍','5','線','一般公路','5','qiangfei','4','1'});dt.Rows.Add(newobject[]{'片區(qū)5','范圍','5','線','一般公路','5','qiangfei','5','0'});dt.Rows.Add(newobject[]{'片區(qū)6','范圍','5','線','一般公路','5','qiangfei','6','1'});dt.Rows.Add(newobject[]{'片區(qū)7','范圍','5','線','一般公路','5','qiangfei','7','1'});dt.Rows.Add(newobject[]{'片區(qū)8','范圍','5','線','一般公路','5','qiangfei','8','0'});dt.Rows.Add(newobject[]{'片區(qū)9','范圍','5','線','一般公路','5','qiangfei','9','0'});dt.Rows.Add(newobject[]{'片區(qū)10','范圍','5','線','一般公路','5','qiangfei','10','1'});dt.Rows.Add(newobject[]{'片區(qū)11','范圍','5','線','一般公路','5','qiangfei','11','1'});dt.Rows.Add(newobject[]{'片區(qū)12','范圍','5','線','一般公路','5','qiangfei','12','0'});gridControl1.DataSource=dt;注意:我們表格中【選擇】一列的值是字符串型,那么表格中設(shè)置的種類也一定是字符串型。種類一定一致。結(jié)果體現(xiàn):必需設(shè)置:【編寫】屬性我們假如增添了選擇框列,必定要對選擇列可用進行點擊選中的操作,因此我們一定先打開表格的可編寫狀態(tài)。但是這樣每一列都可以編寫,因此要關(guān)閉其余列的可編寫狀態(tài)。這樣我們就可以操作選擇列,而其余列不可編寫。由此我們可以看出gridview上的Editable屬性控制大于列的AllowEdit屬性。進階:當(dāng)我們點擊某一行的選擇列checkbox控件是,其綁定的值也會發(fā)生變化,聯(lián)動其datatable中的值也會發(fā)生變化,即選中時,datatable對應(yīng)的值會變?yōu)?;未選中時,其值為0。那么我們可以經(jīng)過如下代碼獲取選中的所有信息;DataRow[]drs=dt.Select('選擇='1'');GridControl詳解(十)BandedGridView變換結(jié)果:運轉(zhuǎn)結(jié)果體現(xiàn):GridControl詳解(附)表格屬性一覽OptionsOptionsBehavior視圖的行為選項AllowIncrementalSearch同意用戶經(jīng)過輸入想獲取的列值來定位行AllowPartialRedrawOnScrolling同意視圖在垂直轉(zhuǎn)動中局部刷新AutoExpandAllGroups自動展開視圖中的所有組AutoPopulateColumns當(dāng)視圖中沒有某些數(shù)據(jù)源中的字段時,在視圖中自動創(chuàng)立這些列AutoSelectAllInEditor在一個單元格編寫中,能否同意通過Enter或F2來選擇該單元格的所有內(nèi)容AutoUpdateTotalSummary當(dāng)列值發(fā)生改變時,自動更新匯總大綱數(shù)據(jù)

CacheValuesOnRowUpdating

緩沖將被存入數(shù)據(jù)源的數(shù)據(jù)

(當(dāng)一行數(shù)據(jù)要存入到數(shù)據(jù)源時,

Grid可以將它的值存入到一個內(nèi)部的緩沖器中。這樣,萬一那行數(shù)據(jù)在存入時被數(shù)據(jù)源的檢查體系清空了,還可以恢復(fù))Editable同意對單元格進行編寫EditorShowMode設(shè)置鼠標(biāo)激活單元格編寫器的模式FocusLeaveOnTab假如在Grid中TAB鍵被嚴禁,能否在按下TAB鍵時將焦點移到下一個控件ImmediateUpdateRowPosition由于排序、分組和過濾設(shè)置造成行的數(shù)據(jù)被更正時,能否馬上更新一行的地點KeepFocusedRowOnUpdate當(dāng)后臺的數(shù)據(jù)記錄變化時,保持焦點行的焦點KeepGroupExpandedOnSorting當(dāng)數(shù)據(jù)進行排序時,保持行的擴展?fàn)顟B(tài)SmartVertScrollBar設(shè)置能否能轉(zhuǎn)動視圖到第一行和最后一行OptionsCustomization接見視圖的用戶化操作AllowChangeBandParent同意用戶可以挪動帶子在父親母親中?AllowChangeColumnParent同意用戶可以在帶子中挪動列AllowColumnMoving同意用戶經(jīng)過拖動列頭來挪動列AllowColumnResizing同意用戶更正列寬AllowFilter同意用戶對數(shù)據(jù)進行過濾操作AllowGroup同意用戶對數(shù)據(jù)進行分組操作AllowRowSizing同意用戶修轉(zhuǎn)行高AllowSort同意用戶對數(shù)據(jù)進行排序操作ShowBandsInCustomizationForm在用戶窗體中顯示帶子(BandedGridView和AdvBandedGridView專有屬性)OptionsDetail對視圖的主要明細操作AllowExpandEmptyDetails沒有明細數(shù)據(jù)時,主行可以睜開

AllowOnlyOneMasterRowExpanded

同時只同意睜開一個主行

AllowZoomDetails

同意視圖的明細擴大到整個控件的地域

AutoZoomDetail

當(dāng)相應(yīng)的主行睜開時,自動把視圖的明細擴大到控件的地域EnableDetailToolTip同意明細上的提示出現(xiàn)EnableMasterViewMode同意顯示視圖的明細ShowDetailTabs顯不Tab的明細SmartDetailExpand當(dāng)詳細視圖擴展時,能否自動進行轉(zhuǎn)動,使該詳細視圖的所有行都顯示出來

SmartDetailExpandButtonMode

設(shè)置'主—明細

'擴展按鈕的風(fēng)格

SmartDetailHeight

(保留屬性)OptionsFilter

視圖的過濾操作AllowColumnMRUFilterList在列過濾器下拉打開時,顯示近來用于過濾的項目(MRU=themostrecentlyused)AllowFilterEditor同意使用過濾編寫器(用于復(fù)雜過濾標(biāo)準(zhǔn)的設(shè)置)AllowMRUFilterList同意使用近來使用項目的過濾列表ColumnFilterPopupMaxRecordsCount設(shè)置過濾的下拉菜單中所能顯示的最大記錄數(shù)ColumnFilterPopupRowCount列過濾器下拉時能彈出的最大項目數(shù)目MRUColumnFilterListCount能否存放近來使用過的視圖列的過濾項目MRUFilterListCount是否存放近來使用過的視圖的過濾條件MRUFilterListPopupCount近來使用過的過濾列表中能顯示的項目數(shù)ShowAllTableValuesInFilterPopup能否在下拉列表中顯示所有記錄的(獨一的)值,也許滿足過濾標(biāo)準(zhǔn)的值UseNewCustomFilterDialog高級用戶用定制的過濾器對話框OptionsHint視圖的提示操作ShowBandHeaderHints顯示表格帶頭被截去的內(nèi)容BandedGridView和AdvBandedGridView專有屬性)ShowCellHints顯示單元格被截去的內(nèi)容ShowColumnHeaderHints顯示列頭被截去的內(nèi)容OptionsLayout視圖的布局操作Columns列AddNewColumns存在于當(dāng)前控件,但不存在于布局的列,當(dāng)它恢復(fù)時將被保留?RemoveOldColumns恢復(fù)時存在于布局中的,但不存在于當(dāng)前控件的列,將被扔掉也許加入到控件中StoreAllOptions當(dāng)布局進行儲存或恢得時,控件所有的列/帶(除了外觀設(shè)置外)的設(shè)置都將被儲存或恢得

StoreAppearance

儲存或恢復(fù)外觀設(shè)置StoreLayout

能否儲存或恢復(fù)布局

LayoutVersions

布局的版本

StoreAllOptions

儲存或恢復(fù)控件的所有設(shè)置(除外觀設(shè)置或款式條件外)

StoreAppearance

儲存或恢復(fù)控件的外觀設(shè)置StoreDataSettings儲存或恢復(fù)控件的分組、排序、過濾設(shè)置和大綱(匯總)StoreVisualOptions儲存或恢復(fù)控件視覺選項(布局)OptionsMenu選項菜單EnableColumnMenu同意列頭上的菜單EnableFooterMenu同意頁腳上的菜單EnableGroupPanelMenu同意分組面板上的菜單OptionsNavigation導(dǎo)航選項AutoFocusNewRow增添新記錄時自動將焦點挪動相應(yīng)的行AutoMoveRowFocus當(dāng)前焦點在一行的第一個或最后一個單元格時,使用水平導(dǎo)航鍵可以將焦點移到下一行或上一行

EnterMoveNextColumn

回車鍵能挪動單元格的焦點

UseAdvHorzNavigation

使用高級水平導(dǎo)航器AdvBandedGridView專有屬性)UseAdvVertNavigation使用高級垂直導(dǎo)航器(AdvBandedGridView專有屬性)UseTabKey使用TAB/SHIFT+TAB挪動焦點OptionsPrint打印選項AutoWidth依據(jù)紙的寬度自動設(shè)置視圖的列寬

EnableAppearanceEvenRow

同意偶數(shù)行應(yīng)用界面設(shè)置(

GridViewPrintAppearances

)EnableAppearanceOddRow同意奇數(shù)行應(yīng)用界面設(shè)置(GridViewPrintAppearances)ExpandAllDetails打印時所有主行都睜開ExpandAllGroups打印時所有分組的行都睜開PrintBandHeader打印帶的頭PrintDetails打印明細PrintFilterInfo打印過濾面板PrintFooter打印頁腳PrintGroupFooter打印分組的頁腳PrintHeader打印列頭PrintHorzLines打印水平的網(wǎng)絡(luò)線PrintPreview打印預(yù)覽的部分PrintVertLines打印垂直的網(wǎng)絡(luò)線UsePrintStyles打印正在使用的界面OptionsSelection選擇選項EnableAppearanceFocusedCell同意獲取焦點的單格使用外觀

EnableAppearanceFocusedRow

同意獲取焦點的執(zhí)行用外觀

EnableAppearanceHideSelection

同意在控件失掉焦點時,外觀設(shè)置應(yīng)用到選擇的行上InvertSelection設(shè)置焦點的風(fēng)格應(yīng)用到獲取焦點的單元格,還是獲取焦點的那一行的所有單元格MuiltiSelect允好多項選擇行

MuiltiSelectMode

多項選擇模式

(多項選擇行或多項選擇單元格)(GridView

BandedGridView

專有屬性)UseIndicatorForSelection

當(dāng)辦理多項選擇模式時,能否使用行指示面板來進行行的選擇

OptionsView

視圖選項AllowCellMerge同意同樣值的相鄰單元格合并BandedGridView專有屬性)AutoCalcPreviewLineCount依據(jù)預(yù)覽的內(nèi)容自動計算出文本行的數(shù)目ColumnAutoWidth自動調(diào)整列寬,使所有列的寬度和視圖的寬度般配

EnableAppearanceEvenRow

同意偶數(shù)行應(yīng)用界面設(shè)置(

GridViewPrintAppearances

)EnableAppearanceOddRow

同意奇數(shù)行應(yīng)用界面設(shè)置(GridViewPrintAppearances

)GroupDramMode

分組行的顯示模式

HeaderFilterButtonShowMode

列頭上的過濾按鈕的顯示模式

NewItemRowPosition

設(shè)置新項目行的地點

RowAutoHeight

每一行自動依據(jù)單元格的內(nèi)容調(diào)整高度(GridView專用屬性)ShowAutoFilterRow顯示自動過濾行ShowBands顯示帶的面板BandedGridView和AdvBandedGridView專有屬性)ShowChildrenInGroupPanel視圖的分組面板能否擔(dān)當(dāng)一個新加入的分組面板ShowColumnHeaders顯示列頭ShowDetailButtons在主行上顯示'主—明細'的擴展按鈕ShowFilterPanelMode

顯示過濾面板

ShowFooter顯示視圖的頁腳ShowGroupedColumns顯示分組列(GridView專用屬性)ShowGroupPanel顯示分組面板ShowHorzLines顯示水平網(wǎng)格線ShowIndicator顯示行指示器面板

ShowPreview

顯示預(yù)覽部分ShowPreviewLines顯示預(yù)覽線ShowvertLines顯示垂直網(wǎng)格線設(shè)計(Name)慣例屬性GenerateMember慣例屬性Modifiers慣例屬性數(shù)據(jù)(ApplicationSettings)慣例屬性(PropertyBinding)慣例屬性Tag慣例屬性外觀Appearance外觀設(shè)置BandPanel、BandPanelBackground、ColumnFilterButton、ColumnFilterButtonActive、DetailTip、Empty、EvenRow、FilterCloseButton、FilterPanel、FixedLine、FocusedCell、FocusedRow、FooterPanel、GroupButton、GroupFooter、GroupPanel

、GroupRow

、HeaderPanel

、HeaderPanelBackgroundOddRow、Preview、Row

、HideSelectionRow、Horzline、RowSeparator、SelectedRow

、、TopNewRow、VertLine帶的面板、帶面板的背景、列過濾按鈕、正在

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論