這篇文章主要介紹了ASP.NET使用gridview獲取當前行的索引值的方法匯總,有需要的小伙伴可以參考下。
在用GridView控件時,我們經常會碰到獲取當前行的索引,通過索引進行許多操作。例如,可以獲得當前行某一個控件元素;設置某一元素的值等等。下面結合實例介紹幾種獲得GridView當前行索引值的方法。
實例:
① 目的:獲取GridView中RowCommand的當前索引行。
② 前臺頁面:在GridView中添加一模版列,里面添加一個LinkButton控件。
代碼:
?
1 2 3 4 5 6 7 <asp:TemplateField HeaderText="操作"> <ItemTemplate> <asp:LinkButton ID="lbtnQianRu" runat="server" CommandName="QianRu" CommandArgument='<%# Eval("Id") %>'>簽入</asp:LinkButton> <asp:LinkButton ID="lbtnQianChu " runat="server" CommandName="QianChu">簽出 </asp:LinkButton> </ItemTemplate> </asp:TemplateField>小提示:如果在后臺代碼中用e.CommandArgument取值的話,前臺代碼就必須在按鈕中設置CommandArgument的值,值為綁定的數據庫字段。如:
//因為在客戶端中就已經將LinkButton的CommandArgument與主鍵Id給綁定了所以在此可以直接用e.CommandArgument得出主鍵ID的值
int id = Convert.ToInt32(e.CommandArgument.ToString());
③ 在GridView里已經設置了LinkButton為事件處理按鈕,將通過以下方法獲取索引:
?
1 2 3 4 protected void gv_Company_Row【方法一】
?
1 2 GridViewRow drv = ((GridViewRow)(((LinkButton)(e.CommandSource)).Parent.Parent)); //此得出的值是表示那行被選中的索引值 inf id=Convert.ToInt32(GridView1.DataKeys[drv.RowIndex].Value); //此獲取的值為GridView中綁定數據庫中的主鍵值注意:運用此方法,需要對GridView的DataKeyNames屬性進行設置,此例中設置為主鍵字段。
【方法二】
?
1 2 3 4 GridViewRow drv = (GridViewRow)((LinkButton)e.CommandSource).NamingContainer;//此得出的值是表示那行被選中的索引值 int id = Convert.ToInt32(GridView1.Rows[drv.RowIndex].Cells[0].Text); //此獲取的值為GridView中綁定數據庫中的主鍵值,取值方法是選中的行中的第一列的值,drv.RowIndex取得是選中行的索引 } }新聞熱點
疑難解答