GridControl 控件小結

由於近期要使用gridcontrol控件,整理出來,以便以後參考:

1.DevExpress控件組中的GridControl控件不能使橫向滾動條有效。
現象:控件中的好多列都擠在一起,列寬都變的很小,根本無法正常瀏覽控件單元格中的內容。

解決:

gridView1.OptionsView.ColumnAutoWidth屬性是true,即各列的寬度自動調整,你把它設成false,就會出現了。

2.使單元格不可編輯。

gridcontrol -->gridview -->OptionsBehavior -->Editable=false

3.沒有下拉滾動條事件怎麼辦?現象:因爲需要加載大數據量數據,所以不能一次把所有數據讀入datatable進行綁定,所以決定在用戶進一步瀏覽數據時進行數據的實時加載工作,就是每當用戶拉動滾動條時,多加載一些數據進入datatable.沒有找到合適的滾動條事件,於是用這個事件代替了,非常合適我的需求.

TopRowChanged事件.

4.獲取選定行,指定列單元格的內容

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複選框

gridview->run designer->columns->選擇要變成複選框的那一列->column edit->new(在這裏可以選擇很多類型)

加載checkbox數據時,費了一點時間,checkbox的複選框怎麼點擊,一失去焦點是,選擇的操作就無效了,問題就出在datatable的綁定上了,一定要綁定一個布爾的類型.

代碼是這樣滴!

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();
}
注意:創建的datatable的列名一定要和gridview中的列的fieldname屬性值是一個名字,不然,你會發現添加了和你綁定的datatalbe一樣多的行,可是行裏面卻沒有內容的.

7.多選

GridControl->GridView->屬性->OptinosSelecttion->MultiSelect

8.不顯示子表信息

當我們對DataTable建立父子關係後,將父表綁定在Grid上,會造成關係列上有加號顯示,並且可以展開.如果你覺得展開的信息對你沒有意義的話,是可以關掉的.這是需要修改屬性

屬性Gridview->Option View->ShowDetailButtons=false


收集相關資料


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章