gridview獲取當前行索引的方法

2021-09-02 02:56:13 字數 3563 閱讀 1805

在用

gridview

控制項時,我們經常會碰到獲取當前行的索引,通過索引進行許多操作。例如,可以獲得當前行某乙個控制項元素;設定某一元素的值等等。

下面結合例項介紹幾種獲得

gridview

當前行索引值的方法。

例項:①目的:

獲取gridview

中rowcommand

的當前索引行。

②前台頁面:在

gridview

中新增一模版列,裡面新增乙個

linkbutton

控制項。**:

"操作"

>

"lbtnqianru"

runat=

"server"

commandname=

"qianru"

commandargument=

'<%# eval("id") %>'

>

簽入  

"lbtnqianchu "

runat=

"server"

commandname=

"qianchu"

>簽出

如果在後台**中用

e.commandargument

取值的話,前台**就必須在按鈕中設定

commandargument

的值,值為繫結的

資料庫字段。如:

//因為在客戶端中就已經將

linkbutton

的commandargument

與主鍵id

給繫結了所以在此可以直接用

e.commandargument

得出主鍵id的值

intid = convert.toint32(e.commandargument.tostring()); 

③在gridview

裡已經設定了

linkbutton

為事件處理按鈕,將通過以下方法獲取索引:

protectedvoidgv_company_rowcommand(objectsender, gridviewcommandeventargs e)

}

此外,還有一些方法可以實現獲得當前行索引值。

【方法三】

在linkbutton

控制項的command

事件,利用

sender

的parent

獲取gridview

中的當前行

。protected

void

lbtnqianchu

_command(

object

sender, commandeventargs e)

【方法四】

在linkbutton

控制項的click

事件,獲取

gridview

中的當前行

。protected void linkbutton1_click(object sender, eventargs e)

【方法五】

如果在模板列中新增一下

dropdownlist

控制項,並開啟其

autopostback

屬性,在

dropdownlist 

的selectedindexchanged

事件中,

獲取gridview

中的當前行。

下面是selectedindexchanged事件的**摘要:

dropdownlist ddl = (dropdownlist)sender;

gridviewrow gvr = (gridviewrow)ddl.namingcontainer;

int id = int.parse(gridview1.datakeys[gvr.rowindex][0].tostring());

int num = int.parse(ddl.text);

第一句用來獲取觸發事件的

dropdownlist

控制項。第二句就利用該控制項的

namingcontainer

屬性,獲取其容器,也就是

gridviewrow

物件。

由於

dropdowelist

與button

不同,無法指定其

commandname

,所以,通過用

namingcontainer

屬性來解決問題。

先來看看微軟對該namingcontainer

屬性的解釋:

獲取對伺服器控制項的命名容器的引用,此引用建立唯一的命名空間,以區分具有相同

control.id

屬性值的伺服器控制項。

asp.net web 

應用程式的每一頁均包含控制項的層次結構。此層次結構與控制項是否生成使用者可見的

ui 無關。給定控制項的命名容器是層次結構中該控制項之上的父控制項,此父控制項實現

inamingcontainer

介面。實現此介面的伺服器控制項為其子伺服器控制項的

id 屬性值建立唯一的命名空間。

當針對列表

web 

伺服器控制項(如

repeater 

和datalist 

伺服器控制項)進行資料繫結時,為伺服器控制項建立唯一的命名空間尤其重要。當資料來源中的多個項建立伺服器控制項的多個例項,且該伺服器控制項是重複控制項的子級時,命名容器確保這些子控制項的每個例項具有不衝突的

uniqueid

屬性值。頁的預設命名容器是請求該頁時生成的

page

類的例項。

可以使用此屬性確定特定伺服器控制項所在的命名容器。

【方法六】

如果模板列中有

checkbox

控制項的情況,通過checkbox1_checkedchanged事件中,

獲取gridview

中的當前行。

checkbox chk = (checkbox)sender;

datacontrolfieldcell dcf = (datacontrolfieldcell)chk.parent;

gridviewrow gvr = (gridviewrow)dcf.parent;

【方法七】

displayindex :<%# container.displayindex %>|| dataitemindex :<%# container.dataitemindex %>

GridView 如何獲取當前行的索引值

在用gridview控制項時,我們經常會碰到獲取當前行的索引,通過索引進行許多操作。例如,可以獲得當前行某乙個控制項元素 設定某一元素的值等等。下面結合例項介紹幾種獲得gridview當前行索引值的方法。例項 目的 獲取gridview中rowcommand的當前索引行。前台頁面 在gridview...

在按鈕事件中訪問GridView中當前行資料

net2.0提供了乙個gridview控制項,這個控制項為我們帶來了許多的方便,但其去掉了datagird中通過事件按鈕訪問某行資料的便捷方式 e.item.itemindex 這樣給訪問gridview中獲取當前行的資料增加了麻煩。在我做專案開發過程中,我也碰到了類似的問題,我先在網上搜尋了下,找...

C WPF DataGrid獲取當前行某列值

0 是指當前行第1列的單元格位置 方法一 private void dg selectedcellschanged object sender,selectedcellschangedeventargs e system.nullreferenceexception 未將物件引用設定到物件的例項。b...