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

分享

gridview的事件大全

 CrazyProgrammer 2010-08-17
DataKeyNames屬性
很多時候我們需要在GridView的RowCommand之類的事件中需要獲取當前行的一些關聯(lián)性的數(shù)據值。但這些數(shù)據值又沒有直接體現(xiàn)在GridView的列中。這個時候該怎么辦呢?
有的同學喜歡用隱藏列的方式,把需要使用但不顯示的字段綁定到此列上,同時設置列寬為0或不顯示,使用時可以用常規(guī)的取某行某列的方式來獲取數(shù)據。
但是在Framework 2.0中,我們可以采用DataKeyNames的方式來獲取此類數(shù)據。
Grup 為我們想使用但不需要顯示的列。(如果有多個字段,使用逗號分開)
.aspx
<asp:GridView ID="GridView1" runat="server" DataKeyNames="Grup" OnRowCommand="GridView1_RowCommand" >
.cs
    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        // 獲取當前行索引 
        int index = Convert.ToInt32(e.CommandArgument);
        // 取出當前行數(shù)據鍵值對象中的值 
        string strGrup = ((GridView)sender).DataKeys[index].Values["Grup"].ToString();  
    }
PageIndexChanged
在單擊某一頁導航按鈕時,但在 GridView 控件處理分頁操作之后發(fā)生。此事件通常用于以下情形:在用戶定位到該控件中的另一頁之后,您需要執(zhí)行某項任務。
//翻頁
        protected void AspNetPager1_PageChanging(object src, PageChangingEventArgs e)
        {
            AspNetPager1.CurrentPageIndex = e.NewPageIndex;
            string recordNumber = "0";
            DataTable dt = GetSearchResult(AspNetPager1.CurrentPageIndex.ToString(), ref recordNumber); 
            if (dt != null && dt.Rows.Count > 0)
            {
                GridDataBind(dt, recordNumber);
            }
        }
PageIndexChanging
在單擊某一頁導航按鈕時,但在 GridView 控件處理分頁操作之前發(fā)生。此事件通常用于取消分頁操作。
.aspx  <PagerTemplate> 與<columns>同級別
<PagerTemplate>
                        <table width="100%">
                            <tr>
                                <td style="text-align: right">
                                    第<asp:Label ID="lblPageIndex" runat="server" Text='<%# ((GridView)Container.Parent.Parent).PageIndex + 1   %>' />頁
                                    共<asp:Label ID="lblPageCount" runat="server" Text='<%# ((GridView)Container.Parent.Parent).PageCount   %>' />頁
                                    <asp:LinkButton ID="btnFirst" runat="server" CausesValidation="False" CommandArgument="First"
                                        CommandName="Page" Text="首頁" />
                                    <asp:LinkButton ID="btnPrev" runat="server" CausesValidation="False" CommandArgument="Prev"
                                        CommandName="Page" Text="上一頁" />
                                    <asp:LinkButton ID="btnNext" runat="server" CausesValidation="False" CommandArgument="Next"
                                        CommandName="Page" Text="下一頁" />
                                    <asp:LinkButton ID="btnLast" runat="server" CausesValidation="False" CommandArgument="Last"
                                        CommandName="Page" Text="尾頁" />
                                    <asp:TextBox ID="txtNewPageIndex" runat="server" Width="20px" Text='<%# ((GridView)Container.Parent.Parent).PageIndex + 1   %>' />
                                    <asp:LinkButton ID="btnGo" runat="server" CausesValidation="False" CommandArgument="-1"
                                        CommandName="Page" Text="GO" /><!-- here set the CommandArgument of the Go Button to '-1' as the flag -->
                                </td>
                            </tr>
                        </table>
                    </PagerTemplate>
.cs
        protected void gvShippingApply_PageIndexChanging(object sender, GridViewPageEventArgs e)
       {
            GridView theGrid = sender as GridView;   // refer to the GridView
            int newPageIndex = 0;
            if (-2 == e.NewPageIndex)
            { // when click the "GO" Button
                TextBox txtNewPageIndex = null;
                //GridViewRow pagerRow = theGrid.Controls[0].Controls[theGrid.Controls[0].Controls.Count - 1] as GridViewRow; // refer to PagerTemplate
                GridViewRow pagerRow = theGrid.BottomPagerRow; //GridView較DataGrid提供了更多的API,獲取分頁塊可以使用BottomPagerRow 或者TopPagerRow,當然還增加了HeaderRow和FooterRow
                if (null != pagerRow)
                {
                    txtNewPageIndex = pagerRow.FindControl("txtNewPageIndex") as TextBox;    // refer to the TextBox with the NewPageIndex value
                }
                if (null != txtNewPageIndex)
                {
                    newPageIndex = int.Parse(txtNewPageIndex.Text) - 1; // get the NewPageIndex
                }
            }
            else
            {   // when click the first, last, previous and next Button
                newPageIndex = e.NewPageIndex;
            }
            // check to prevent form the NewPageIndex out of the range
            newPageIndex = newPageIndex < 0 ? 0 : newPageIndex;
            newPageIndex = newPageIndex >= theGrid.PageCount ? theGrid.PageCount - 1 : newPageIndex;
            // specify the NewPageIndex
            theGrid.PageIndex = newPageIndex;
            this.BindData();//重新綁定數(shù)據
        }
RowCancelingEdit
在單擊某一行的“取消”按鈕時,但在 GridView 控件退出編輯模式之前發(fā)生。此事件通常用于停止取消操作。
RowCommand
當單擊 GridView 控件中的按鈕時發(fā)生。此事件通常用于在控件中單擊按鈕時執(zhí)行某項任務。
RowCreated
當在 GridView 控件中創(chuàng)建新行時發(fā)生。此事件通常用于在創(chuàng)建行時修改行的內容。
RowDataBound
在 GridView 控件中將數(shù)據行綁定到數(shù)據時發(fā)生。此事件通常用于在行綁定到數(shù)據時修改行的內容。
RowDeleted
在單擊某一行的“刪除”按鈕時,但在 GridView 控件從數(shù)據源中刪除相應記錄之后發(fā)生。此事件通常用于檢查刪除操作的結果。
RowDeleting
在單擊某一行的“刪除”按鈕時,但在 GridView 控件從數(shù)據源中刪除相應記錄之前發(fā)生。此事件通常用于取消刪除操作。
RowEditing
發(fā)生在單擊某一行的“編輯”按鈕以后,GridView 控件進入編輯模式之前。此事件通常用于取消編輯操作。
RowUpdated
發(fā)生在單擊某一行的“更新”按鈕,并且 GridView 控件對該行進行更新之后。此事件通常用于檢查更新操作的結果。
RowUpdating
發(fā)生在單擊某一行的“更新”按鈕以后,GridView 控件對該行進行更新之前。此事件通常用于取消更新操作。
SelectedIndexChanged
發(fā)生在單擊某一行的“選擇”按鈕,GridView 控件對相應的選擇操作進行處理之后。此事件通常用于在該控件中選定某行之后執(zhí)行某項任務。
SelectedIndexChanging
發(fā)生在單擊某一行的“選擇”按鈕以后,GridView 控件對相應的選擇操作進行處理之前。此事件通常用于取消選擇操作。
Sorted
在單擊用于列排序的超鏈接時,但在 GridView 控件對相應的排序操作進行處理之后發(fā)生。此事件通常用于在用戶單擊用于列排序的超鏈接之后執(zhí)行某個任務。
Sorting
在單擊用于列排序的超鏈接時,但在 GridView 控件對相應的排序操作進行處理之前發(fā)生。此事件通常用于取消排序操作或執(zhí)行自定義的排序例程。

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    精品精品国产欧美在线| 欧美国产极品一区二区| 精品人妻久久一品二品三品| 日韩欧美一区二区久久婷婷| 亚洲av秘片一区二区三区| 国产日韩熟女中文字幕| 午夜视频成人在线免费| 国产精品一区二区高潮| 在线免费观看黄色美女| 亚洲人午夜精品射精日韩| 婷婷一区二区三区四区| 日韩欧美91在线视频| 国产又色又爽又黄又免费| 夫妻性生活一级黄色录像| 九九热精彩视频在线播放| 黄色激情视频中文字幕| 热久久这里只有精品视频| 中国日韩一级黄色大片| 中文人妻精品一区二区三区四区| 老司机精品视频免费入口| 午夜国产精品福利在线观看| 亚洲欧美日韩国产综合在线| 亚洲综合香蕉在线视频| 偷自拍亚洲欧美一区二页| 国产亚洲视频香蕉一区| 色综合久久六月婷婷中文字幕| 欧美av人人妻av人人爽蜜桃 | 老司机精品国产在线视频| 91精品国产品国语在线不卡| 天海翼高清二区三区在线| 日本成人三级在线播放| 国产精品丝袜美腿一区二区| 日本亚洲精品在线观看| 国产精品欧美激情在线| 亚洲中文在线中文字幕91| 精品人妻一区二区三区四区久久| 国产内射在线激情一区| 国产av熟女一区二区三区蜜桃| 91欧美亚洲精品在线观看| 日本人妻熟女一区二区三区| 色婷婷丁香激情五月天|