轉(zhuǎn)帖|使用教程|編輯:龔雪|2014-03-19 10:48:02.000|閱讀 2786 次
概述:本文總結(jié)了DevExpress GridControl使用過(guò)程中可能遇見(jiàn)的一些問(wèn)題,并給出了解決方法。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
1.DevExpress控件組中的GridControl控件不能使橫向滾動(dòng)條有效。
現(xiàn)象:控件中的好多列都擠在一起,列寬都變的很小,根本無(wú)法正常瀏覽控件單元格中的內(nèi)容。
解決:gridView1.OptionsView.ColumnAutoWidth屬性是true,即各列的寬度自動(dòng)調(diào)整,你把它設(shè)成false,就會(huì)出現(xiàn)了。
2.使單元格不可編輯。
解決:gridcontrol -->gridview -->OptionsBehavior -->Editable=false
3.沒(méi)有下拉滾動(dòng)條事件怎么辦?
現(xiàn)象:因?yàn)樾枰虞d大數(shù)據(jù)量數(shù)據(jù),所以不能一次把所有數(shù)據(jù)讀入datatable進(jìn)行綁定,所以決定在用戶進(jìn)一步瀏覽數(shù)據(jù)時(shí)進(jìn)行數(shù)據(jù)的實(shí)時(shí)加載工作,就是每當(dāng)用戶拉動(dòng)滾動(dòng)條時(shí),多加載一些數(shù)據(jù)進(jìn)入datatable.沒(méi)有找到合適的滾動(dòng)條事件,于是用這個(gè)事件代替了,非常合適我的需求。
解決:TopRowChanged事件。
4.獲取選定行,指定列單元格的內(nèi)容
解決代碼如下:
private string GetSelectOID() { int[] pRows = this.gridView1.GetSelectedRows(); if (pRows.GetLength(0) > 0) return gridView1.GetRowCellValue(pRows[0], mOIDFiledName).ToString (); else return null; } //mOIDFiledName為要獲取列的列名
5.去除"Drag a Column Header Here To Group by that Column"
解決:修改屬性Gridview->Option View->Show Group Panel=false,就好了
6.在gridcontrol中添加checkbox復(fù)選框
解決:gridview->run designer->columns->選擇要變成復(fù)選框的那一列->column edit->new(在這里可以選擇很多類型)
加載checkbox數(shù)據(jù)時(shí),費(fèi)了一點(diǎn)時(shí)間,checkbox的復(fù)選框怎么點(diǎn)擊,一失去焦點(diǎn)是,選擇的操作就無(wú)效了,問(wèn)題就出在datatable的綁定上了,一定要綁定一個(gè)布爾的類型。
代碼如下:
private void FrmCreateLegend_Load(object sender, EventArgs e) { IFeatureLayer pFeatureLayer; IDataset pDataset; string pName; DataTable pDatatable = new DataTable(); pDatatable.Columns.Add("圖層名稱", System.Type.GetType("System.String")); pDatatable.Columns.Add("選擇", System.Type.GetType("System.Boolean")); DataRow pDataRow; object[] rowArray = new object[2]; for (int i = 0; i < mFeatureLayers.Count; i++) { pDataRow = pDatatable.NewRow(); pFeatureLayer = mFeatureLayers[i] as IFeatureLayer; rowArray[0] = pFeatureLayer.Name; rowArray[1] = false; pDataRow.ItemArray = rowArray; pDatatable.Rows.Add(pDataRow); } this.gridMark.DataSource = pDatatable; this.gridMark.Refresh(); }
注意:創(chuàng)建的datatable的列名一定要和gridview中的列的fieldname屬性值是一個(gè)名字,不然,你會(huì)發(fā)現(xiàn)添加了和你綁定的datatalbe一樣多的行,可是行里面卻沒(méi)有內(nèi)容的。
7.多選
解決:GridControl->GridView->屬性->OptinosSelecttion->MultiSelect
8.不顯示子表信息
解決:當(dāng)我們對(duì)DataTable建立父子關(guān)系后,將父表綁定在Grid上,會(huì)造成關(guān)系列上有加號(hào)顯示,并且可以展開(kāi)。如果你覺(jué)得展開(kāi)的信息對(duì)你沒(méi)有意義的話,是可以關(guān)掉的。這是需要修改屬性
Gridview->Option View->ShowDetailButtons=false
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)