欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
點(diǎn)擊GridView模版列里的按鈕取GridView當前被操作行的數據
點(diǎn)擊GridView模版列里的按鈕取GridView當前被操作行的數據
 

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

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

一、只需要取一個(gè)字段的值:

在GridView里的定義

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

紅色那里,就是設置這個(gè)按鈕帶到傳遞的參數是當前行的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());
         }

看見(jiàn)我使用了e.CommandSource取被點(diǎn)擊的按鈕的Text屬性沒(méi)有?

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

<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取這個(gè)按鈕的Text屬性,判斷當前的操作是要“啟用”還是“禁用”了

二、要取多個(gè)字段的值

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

在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開(kāi)始的,所以每一行都要加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ù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
在GridView中添加按鈕后,如何觸發(fā)按鈕的各種事件?
ASP.NET中GridView控件ButtonField的使用
gridview的事件大全
如何:響應 GridView 控件中的按鈕事件
設計分頁(yè)與空白樣板-GridView
GridView 刪除記錄的處理提示- 路在何方 - 新浪BLOG
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久