Dev的GridControl控制項選擇框的使用

2021-10-14 02:29:13 字數 1377 閱讀 4511

先介紹環境:vs2010,dev11.2

想要達到的效果:

在網上找了不少,但是感覺跟我想的做法很不一樣(有很多都是再另外新增乙個什麼checkbox,這個我在dev裡是沒有找到)

下面介紹我的做法:

第一步:

進入「run designer」新增三列,主要講述一下第一列「判斷列」的屬性設定,這用了dev的自帶屬性,在新增該列時將其屬性[columnedit]從下拉框中選擇「checkedit」,然後開啟該屬性的下來箭頭,設定其「valuechecked」和「valueunchecked」的型別及值,這裡我用了int型別的1和0來作為狀態的指示。【注:最好還是不要用預設的bool型的true和false,這樣容易出現總是無法顯示打鉤選中的情況,但是用int型的就不會出現此情況;我找到問題所在了:因為我用了tostring函式,這時會自動把true或者false改變為大寫的「true」或「false」,因此判斷時就不正確,修改了這一點就可以正確大道目的】

另:我的做法主要就是這一步跟網上說的不太一樣,不是新增了乙個checkbox而是用dev自己的已有的屬性。

第二步:

新增事件,選中gridcontrol的gridview,然後新增其事件「rowclick」,新增事件**如下:

private void gridview1_rowclick(object sender, devexpress.xtragrid.views.grid.rowclickeventargs e)

else

}

注:if條件中的空值判斷,我的這一列是在資料庫取出資料後新新增的,所以其值取出來是空的,而不是0.因此,該行未選中時可能有兩種值即0和空。

第三步:

執行,即可實現上述效果。而且在這種情況下,gridcontrol繫結的資料來源中,我們所新增的判斷列的值也是實時改變的,這也方便後續取值使用。

小結:①網上很多方法都新增了很多東西,最典型比如新增了checkbox然後更改屬性,同時又用了不止乙個事件,不知道是我沒看懂還是我沒有完全理解那些人的方式,反正我覺得太複雜了,而且有的控制項或者屬性、事件我都找不到。不知道為什麼不用dev本身的東西。

②再說一下我在試驗過程中測試的幾個相似的事件:focusedrowchanged事件,它是在選中行的位置改變時發生(比如拖動選中行),而不是說你選中了另一行時發生;事件focusedrowobjectchanged代表的才是在選中行改變時觸發,但是這個事件在控制項最初載入時也會觸發,因此我感覺很不方便;cellvaluechanged事件也可以實現上面的效果,此時整個控制項是可編輯狀態,但是需要根據不同列的需求來設定具體列的可編輯狀態;最後就是rowclick事件了,也是我們上面使用的,它的效果就是只有你單擊了那一行才會觸發事件。

GridControl控制項介紹(Dev的控制項)

gridcontrol是資料展示的控制項之一 1.繫結資料來源 gridcontrol1.datasource dt dt 是datatable 2.獲取焦點行的某列的值 string deptid string gridview1.getrowcellvalue gridview1.focused...

DEV之GridControl匯出報表

匯出為excel 依據gridcontrol控制項內 檢視匯出,資料量由gridcontrol的view決定 1 gridcontrol匯出 gridcontrol匯出為excel 控制項 只匯出當前檢視 檔名 public void gridcontroltoexcel devexpress.xt...

GridControl常用屬性

this.gridview1.optionsview.showcolumnheaders true 顯示列標題 this.gridview1.optionsview.showindicator true 顯示行標題 this.gridview1.indicatorwidth 40 行標題寬度 顯示行...