天天看點

DevExpress控件GridControl使用 z

一、添加右鍵菜單

1.在VS工具箱中的“菜單和工具欄”找到ContextMenuStrip控件,輕按兩下添加。

2.點選ContextMenuStrip右上方的小三角形,打開編輯項,可以添加菜單項。至于菜單點選事件,這裡就不多說了。

3.選擇gridControl(注意這裡不是gridView的屬性),在屬性中可以找到ContextMenuStrip屬性,設定成剛添加的ContextMenuStrip。

這樣的話,運作起來右擊表格就可以看到右鍵菜單了。

二、是否可用設定

在不同情況下,例如選中行的個數以及内容的不同,右鍵菜單的菜單項是否可用需要作出判斷,

這裡需要用到gridView的PopupMenuShowing這個事件。也就是在菜單出現之前使用者點選右鍵之後,來判斷一下選擇了幾行,進而決定菜單項是否可用。

GridView可以通過Shift鍵或Ctrl鍵以及Ctrl+A快捷鍵實作多選,但是預設不支援拖拽多選,好像也沒有設定的方法。這樣雖然沒什麼問題,但是肯定會給使用者帶來不便。

首先要設定OptionsSelection中的MultiSelect為true,也就是允許多選,否則下面的一切都是浮雲。

本文通過以下代碼實作拖拉多選的功能,主要是編寫MouseDown、MouseMove、MouseUp三個函數。

這裡需要注意一下GridHitInfo,這個類可以根據x、y坐标擷取該點在GridView中的相關資訊,例如在哪行哪列哪個單元格内,或者是否在單元格裡。

 修改列的背景色

這樣,這列如果值為0則是紅色,為1則是綠色

去除”Drag a Column Header Here To Group by that Column”

DevExpress控件GridControl使用 z

Views-OptionsView-ShowGroupPanel=False

禁用GridControl中列頭的過濾器

過濾器如下圖所示:

設定 Run Design->OptionsCustomization->AllowFilter 設定為:false

顯示水準滾動條?

設定this.gridView.OptionsView.ColumnAutoWidth = false;

設定成一次選擇一行,并且不能被編輯

顯示行号?

讓各列頭禁止移動?

    設定gridView1.OptionsCustomization.AllowColumnMoving = false;

讓各列頭禁止排序?

    設定gridView1.OptionsCustomization.AllowSort = false;

禁止各列頭改變列寬?

    設定gridView1.OptionsCustomization.AllowColumnResizing = false;

設定單元格自動換行?

1.ColumnEdit 增加 MemoEdit

2.AppearanceCell-TextOptions- WordWrap

3.OptionsView RowAutoHeight

設定每一列對齊方式?

View-Appearance-Row-TextOptions-(HAlignment = Center, VAlignment = Center)

設定行隻讀屬性?

GridView.OptionsBehavior-Editable(false)