• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    asp.net gridview的Rowcommand命令中獲取行索引的方法總結

    來源:懂視網 責編:小采 時間:2020-11-27 22:43:15
    文檔

    asp.net gridview的Rowcommand命令中獲取行索引的方法總結

    asp.net gridview的Rowcommand命令中獲取行索引的方法總結:一、通過命令源獲取當前行索引。 方法比較多, GridView 的 Command 事件中無法象 DataGrid 那樣直接獲取行, 法1, GridViewRow drv = ((GridViewRow)(((Button)(e.CommandSource)).Parent.Parent));//CommandSour
    推薦度:
    導讀asp.net gridview的Rowcommand命令中獲取行索引的方法總結:一、通過命令源獲取當前行索引。 方法比較多, GridView 的 Command 事件中無法象 DataGrid 那樣直接獲取行, 法1, GridViewRow drv = ((GridViewRow)(((Button)(e.CommandSource)).Parent.Parent));//CommandSour

    一、通過命令源獲取當前行索引。

    方法比較多, GridView 的 Command 事件中無法象 DataGrid 那樣直接獲取行,

    法1,
    GridViewRow drv = ((GridViewRow)(((Button)(e.CommandSource)).Parent.Parent));//CommandSource 引起事件的命令源,(疑問,根據MSDN說的是GridView,如果這樣的話這樣操作是錯誤的,但我得到的確實正確的,那說明得到的是BUtton控件,等待以后查證).
    drv.RowIndex


    二、通過在RowDataBound事件中把行索引綁定到控件的CommandArgument

    由于事件參數 GridViewCommandEventArgs 并不公開Row屬性指示當前行,(DataGridCommandEventArgs 公開 Item 屬性以獲取當然 DataGridItem,不知 ASP.NET Team 是如何考慮這一設計的),因此需要一點“技巧”來獲取此屬性。

    其實這是一個早就已知的問題,鑒于CSDN里面每每有人疑惑,這里稍微整理下,便于參閱:

    代碼如下:


    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
    int rowIndex = -1;
    GridViewRow row = null;
    switch (e.CommandName) ...{
    case "Command1": // 模板列
    // 對于模板列內的按鈕,我們需要顯示綁定行索引到按鈕的 CommandArgument 屬性
    // 以獲取觸發事件的行信息
    rowIndex = Convert.ToInt32(e.CommandArgument);
    row = GridView1.Rows[rowIndex];
    DisplayInfo(row, e.CommandName);
    // your codes
    //
    break;
    case "Command2": // 模板列
    // 同樣處于模板列中,但不采用 Command1 方式,而是通過 NamingContrainer 屬性
    // 直接獲取當前的 GridViewRow
    Control cmdControl = e.CommandSource as Control; // 表示觸發事件的 IButtonControl,保持統一性并便于后續操作,我們這里直接轉化為控件基類 Control
    row = cmdControl.NamingContainer as GridViewRow;
    DisplayInfo(row, e.CommandName);
    // your codes
    //
    break;
    case "Command3": // 綁定列
    // 對于 ButtonField 列,數據源控件內部自動以適當的項索引值填充 CommandArgument 屬性。
    // 而無需我們顯示綁定其 CommandArgument 屬性
    // 注意,我們這里無法采用 Command2 的方式,對于 BUttonField 觸發的事件,
    // GridViewCommandEventArgs.CommandSource 表示的包含此按鈕的 GridView
    rowIndex = Convert.ToInt32(e.CommandArgument);
    row = GridView1.Rows[rowIndex];
    DisplayInfo(row, e.CommandName);
    // your codes
    //
    break;
    }
    }

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    asp.net gridview的Rowcommand命令中獲取行索引的方法總結

    asp.net gridview的Rowcommand命令中獲取行索引的方法總結:一、通過命令源獲取當前行索引。 方法比較多, GridView 的 Command 事件中無法象 DataGrid 那樣直接獲取行, 法1, GridViewRow drv = ((GridViewRow)(((Button)(e.CommandSource)).Parent.Parent));//CommandSour
    推薦度:
    標簽: 獲取 命令 row
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 欧美成人精品第一区二区三区 | 蜜臀精品国产高清在线观看| 精品久久久久香蕉网| 国产精品一区三区| 国产精品v片在线观看不卡| 人妻无码久久精品| 国产精品电影在线| 欧美精品黑人巨大在线播放| 国内精品久久久人妻中文字幕| 亚洲精品国精品久久99热| 国产精品gz久久久| 青青青国产依人精品视频| 500av导航大全精品| 精品无码久久久久久午夜| 正在播放国产精品每日更新 | 久久久精品人妻无码专区不卡 | 免费看一级毛片在线观看精品视频| 四虎永久在线精品884aa下载| 精品乱码久久久久久久| 亚洲国产精品特色大片观看完整版| 蜜桃麻豆www久久国产精品| 久久精品成人欧美大片| 999国产精品色在线播放| 97精品伊人久久大香线蕉app| 国内揄拍高清国内精品对白| 亚洲AV日韩精品久久久久久| 青草国产精品久久久久久| 亚洲国产精品特色大片观看完整版 | 国产欧美精品专区一区二区 | 人妻无码久久精品| 精品欧美一区二区在线观看| 国产高清在线精品一本大道国产| 亚洲精品天天影视综合网| 欧美+亚洲+精品+三区| 亚洲精品国产成人专区| 欧美亚洲精品在线| 国产成人精品视频2021| 国产精品一香蕉国产线看观看 | 午夜欧美精品久久久久久久| 亚洲AV永久无码精品网站在线观看| 亚洲国产精品无码专区影院|