一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

點擊GridView模版列里的按鈕取GridView當前被操作行的數(shù)據(jù)

 荷露叮咚 2007-08-22
點擊GridView模版列里的按鈕取GridView當前被操作行的數(shù)據(jù)
 

這種情況經(jīng)常都會有的,就是在GridView里加一個模版列,里面放一些按鈕,然后呢,點擊這些按鈕的時候,要可以取到GridView當前被點擊的行的字段里的內(nèi)容

一般有兩種情況,只需要取一個字段的值,和要取多個字段的值,其實都是一樣的方法,就是使用CommandArgument屬性

一、只需要取一個字段的值:

在GridView里的定義

<asp:TemplateField ShowHeader="False">
                     <ItemTemplate>
                         <asp:Button ID="Button1" runat="server" Text="取編號" CommandArgument=‘<%# Eval("id") %>‘ CommandName="getID" />
                     </ItemTemplate>
                     <ItemStyle HorizontalAlign="Center" />
                 </asp:TemplateField>

紅色那里,就是設置這個按鈕帶到傳遞的參數(shù)是當前行的id字段的值,看后臺的代碼

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
     {
         if (e.CommandName == "getID")
         {
             Response.Write("<br>id:" + e.CommandArgument);
            Button mybt = new Button();
             mybt = (Button)e.CommandSource;
             Response.Write("<br>text:" + mybt.Text);

             Response.Write("<br>type:" + sender.GetType().ToString());
         }

看見我使用了e.CommandSource取被點擊的按鈕的Text屬性沒有?

有時候按鈕可能會因為一個字段的值不同,就有不同的Text屬性,嗯,如果一個表里有記錄“是否啟用”這樣的字段,就經(jīng)常需要在顯示他的GridView里加模版列,顯示“啟用”、“禁用”這樣的快速操作按鈕,如果每一行記錄都顯示兩個按鈕,是很難看的,所以可以使用一個按鈕,進行兩種操作,按鈕可以這樣定義:

<asp:Button ID="Button1" runat="server" Text=‘<%# Convert.ToInt32(Eval("isUse"))==0:"啟用"?"禁用" %>‘ CommandArgument=‘<%# Eval("id") %>‘ CommandName="getID" />

看他的Text屬性,如果isUse字段的值是0,那當前記錄是在禁用狀態(tài)的,所以快捷操作按鈕應該顯示“啟用”,否則呢,就顯示“禁用”

然后呢,就可以在RowCommand事件里,使用e.CommandSource取這個按鈕的Text屬性,判斷當前的操作是要“啟用”還是“禁用”了

二、要取多個字段的值

因為CommandArgument屬性只可以傳遞一個值,所以如果要傳遞多個字段的值的時候,最好是轉(zhuǎn)化成傳遞當前行的行號,如果我們有GridView的一個行號,我們就可以取到這一行的所有數(shù)據(jù)了

在GridView里的定義

<asp:TemplateField ShowHeader="False">
                     <ItemTemplate>
                         <asp:Button ID="Button2" runat="server" Text="取行號" CommandArgument=‘<%# Container.DataItemIndex + 1 %>‘ CommandName="getRow" />
                     </ItemTemplate>
                     <ItemStyle HorizontalAlign="Center" />
                 </asp:TemplateField>

看紅色那里,利用了綁定<%# Container.DataItemIndex + 1 %>傳遞當前行號,DataItemIndex是從0開始的,所以每一行都要加1

后臺

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
     {
         if (e.CommandName == "getRow")
         {
             Response.Write("當前行號為:" + e.CommandArgument);
         }
     }

有了當前行的行號,就可以用GridView1.Rows[e.CommandArgument].Cells[i].Text取第i列的值了,如果有一列是模版列,也可以用FindControl方法取值

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    91一区国产中文字幕| 国产精品不卡一区二区三区四区| 四十女人口红哪个色好看| 色婷婷人妻av毛片一区二区三区| 99精品国产一区二区青青| 久七久精品视频黄色的| 亚洲乱妇熟女爽的高潮片| 欧美二区视频在线观看| 日韩欧美二区中文字幕| 国内精品偷拍视频久久| 亚洲国产av精品一区二区| 黄男女激情一区二区三区 | 国产又粗又猛又长又大| 成人国产激情在线视频| 大香蕉精品视频一区二区| 日韩欧美三级中文字幕| 91香蕉视频精品在线看| 日本三区不卡高清更新二区| 视频一区二区 国产精品| 日韩在线一区中文字幕| 国产精品久久男人的天堂| 免费性欧美重口味黄色| 欧美尤物在线视频91| 国产一区二区三区丝袜不卡 | 精品少妇人妻av一区二区蜜桃| 又黄又硬又爽又色的视频| 一区二区不卡免费观看免费| 欧美日韩国产精品黄片| 男人和女人草逼免费视频| 亚洲精品一二三区不卡| 国产超薄黑色肉色丝袜| 99久免费精品视频在线观| 日本久久精品在线观看| 亚洲欧美一二区日韩高清在线| 成人区人妻精品一区二区三区| 欧美中文字幕一区在线| 国产日韩在线一二三区| 大屁股肥臀熟女一区二区视频| 69精品一区二区蜜桃视频| 黄片在线免费看日韩欧美| 免费国产成人性生活生活片|