2013-04-09 34 views
0

我有一個Janus GridEX vb6中的問題。janus gridex索引後拖動列

爲了在db上進行搜索,我實現了_keydown方法,所以當我按下特定鍵時,我會根據所選擇的列進行搜索。

要做到這一點,我通過使用gridex的方法.col獲得我所在列的索引,所有工作都正確,但是如果我在gridex中拖動一列以更改其位置,.col值更改,但奇怪的是,如果我嘗試使用.value(intColumn)方法訪問列的值,似乎col索引不會更改。

例如,如果我在列號4中進行給定搜索,並且在index小於4的位置上拖動索引高於4的列,我會得到以下情況,.col會給我值5,但如果我調用.value(5)我沒有得到之前在4列中的值,如果我調用.value(4),我會得到它。

因此,我不明白索引如何變化,當有一列拖動。任何人有一些想法?

+0

我解決了!我使用了一個JSColumn對象,在該對象中我將列存儲在該位置,然後通過調用JSColumn的方法.index來獲取列索引。 'Set tmpJsCol = jsgdLisMov.Columns.ItemByPosition(jsgdLisMov.col) intCol = tmpJsCol.Index' – user2189832 2013-04-10 09:10:49

回答

0

我使用Janus庫&我總是使用Key屬性而不是硬編碼的col數字。

下面是一個例子:

Decimal name = String.Empty; 

if (grdEx.CurrentColumn.Key == "Name") 
    name = Convert.ToString(grdEx.GetValue("Name")); 

這將始終防止像在你的情況的錯誤。