獲取 GridView 行資料的常見兩種方式

2021-05-06 11:59:41 字數 1117 閱讀 1806

我們在用asp.net gridview控制項時經常需要在後台讀取一行的資料,常見的方式有以下幾種:

1.在後台rowcommand 事件中先取得行號,再根據行號去訪問各列的值,具體方法可參考:http://www.cnblogs.com/kuitar/archive/2009/04/11/1433777.html

2.通過commandargument引數進行傳遞,具體

方法如下:

在頁面**中,commandargument='<%#eval("id")+","+eval("name")+","+eval("age")%>'

後台取值方法如下:object arguments = e.commandargument.tostring().split(',');

操作很簡單,現在說一下我理解的原理。

commandargument是乙個object型別的屬性,要傳多個引數只能靠字串拼接然後在後台拆分。

還好,asp.net eval方法很容易完成這樣的功能,在commandargument='<%#eval("id")+","+eval("name")+","+eval("age")%>'中

執行過程如下,先分別對eval進行繫結,然後把<%# %>裡的東西tostring一下,再封裝成object進行遞。

不信你可以試試用這種方式commandargument='<%#eval("id"),eval("name"),eval("age")%>'

執行時就會報錯「tostring」方法沒有採用「4」個引數的過載,為什麼了?

按上面的原理,假如id=1,name=kuitar,age=24. 則後一種方式<%# %>裡的內容為"1","kuitar","25"

現在tostring("1","kuitar","25",''可能還有個另外的引數,呵呵'),顯然會出錯。

而用第一種方式則不一樣,繫結後<%# %>裡的內容為"1,kuitar,25",因為+號起了作用。這時候tostring應該沒有問題了。

table control獲取雙擊行資料

1 啟用gui狀態響應雙擊事件的功能碼 2 在user command 的module裡獲取滑鼠所在位置 這裡要用get cursor語句,比如 data l line type i.get cursor line l line.這樣就取得了滑鼠在內表的所在行,如果希望對映到itab,那就需要結合t...

GRIDVIEW 中當資料行數未滿時,填充空白行

有這樣一種情況,當gridview中設定每頁顯示30行,而實際顯示資料只有12行時,剩下的18行就不會顯示了,這時gridview只顯示12行,當是為了讓gridview控制項在使用者面前顯得好看一些,我們想能不能把剩下的18行用空白行顯示出來,我想有一些朋友也在為這個問題犯愁吧。我想到這裡,查了一...

GRIDVIEW 中當資料行數未滿時,填充空白行

有這樣一種情況,當gridview中設定每頁顯示30行,而實際顯示資料只有12行時,剩下的18行就不會顯示了,這時gridview只顯示12行,當是為了讓gridview控制項在使用者面前顯得好看一些,我們想能不能把剩下的18行用空白行顯示出來,我想有一些朋友也在為這個問題犯愁吧。我想到這裡,查了一...