一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

DataGrid同時具有分頁和排序功能及注意點

    當DataGrid同時具有分頁和排序功能時應注意在重新綁定數據源時,MyDataGrid.CurrentPageIndex=0;
下面給實現以上功能的原碼,也就不多綴了ASPx中包含有DataGrid和控制其數據源變化的dropdownlist
DataGrid代碼
  <ASP:datagrid id="MyDataGrid" runat="server" BorderColor="#CCCCCC" Font-Size="100%" HorizontalAlign="Center"
            AutoGenerateColumns="False" OnDeleteCommand="MyDataGrid_Delete" OnSortCommand="Sort_Grid" OnPageIndexChanged="MyDataGrid_PageIndexChanged"
            DataKeyField="ACC_NO" PagerStyle-Position="Bottom" PagerStyle-HorizontalAlign="Center" PagerStyle-Mode="NextPrev"
            PageSize="10" AllowSorting="True" AllowPaging="True" CellPadding="4" Width="100%">
            <AlternatingItemStyle BackColor="#E9E9E6"></AlternatingItemStyle>
            <HeaderStyle Font-Bold="True" Wrap="False" ForeColor="White" BackColor="#999999"></HeaderStyle>
            <Columns>
             <ASP:ButtonColumn Text="口" CommandName="Delete"></ASP:ButtonColumn>
             <ASP:BoundColumn DataField="NO" SortExpression="NO" ReadOnly="True" HeaderText="序號"></ASP:BoundColumn>
             <ASP:BoundColumn DataField="ID" SortExpression="ID" HeaderText="ID"></ASP:BoundColumn>
             <ASP:BoundColumn DataField="NAME" SortExpression="NAME" HeaderText="名稱"></ASP:BoundColumn>
             <ASP:BoundColumn DataField="C_NAME" SortExpression="C_NAME" HeaderText="各科名稱"></ASP:BoundColumn>
             <ASP:BoundColumn DataField="FLG" SortExpression="FLG" HeaderText="項目"></ASP:BoundColumn>
            </Columns>
            <PagerStyle NextPageText="下10件" PrevPageText="返回" HorizontalAlign="Center"></PagerStyle>
           </ASP:datagrid>


dropdownlist代碼
<ASP:dropdownlist id="ddlWk" Runat="server" AutoPostBack="True" Enabled="False">
               <ASP:ListItem Value="0">東京</ASP:ListItem>
               <ASP:ListItem Value="3">九州</ASP:ListItem>
               <ASP:ListItem Value="8">北海道</ASP:ListItem>
               <ASP:ListItem Value="9">四國</ASP:ListItem>
              </ASP:dropdownlist>

 

ASPx.cs文件代碼核心如下:
private void Page_Load(object sender, System.EventArgs e)
  {
   if(!IsPostBack)
   {
       Session["WP"] ="0";
       ddlWk_getS();
       BindGrid();
   } 
  }
  private void ddlWk_getS()
  {
   switch (Session["WP"].ToString())
   {
    case "0":ddlWk.SelectedIndex=0;
     break;
    case "3":ddlWk.SelectedIndex=1;
     break;
    case "8":ddlWk.SelectedIndex=2;
     break;
    case "9":ddlWk.SelectedIndex=3;
     break;
    default:ddlWk.SelectedIndex=0;
     break;
   }
  }
  protected void BindGrid()
  {
   MyDataGrid.DataSource=GetData().Tables["vCO"].DefaultView;
   MyDataGrid.DataBind();
   //COUNT.Text=MyDataGrid.Columns.Count.ToString();
  }

  /// <summary>
  /// 返回Data
  /// </summary>
  ///<returns></returns>
  private DataSet GetData()
  {
   string strConn=(String) ((NameValueCollection) Context.GetConfig("system.web/database"))["strConn"];
   using (SqlConnection conn = new SqlConnection(strConn))
   {
    SqlCommand cmd = new SqlCommand("sp_C",conn);
    cmd.CommandType=CommandType.StoredProcedure;
    cmd.Parameters.Add("@place",SqlDbType.VarChar,2);
    cmd.Parameters["@place"].Value=Session["WP"].ToString();
    conn.Open();

    SqlDataAdapter da = new SqlDataAdapter();
    da.SelectCommand=cmd;
    DataSet ds=new DataSet();
    da.Fill(ds,"vCO");
    Count.Text="ヒット:"+ds.Tables["vCO"].Rows.Count.ToString()+"件";
    return ds;
   }

  }
  /// <summary>
  ///從DataSet中除一
  /// </summary>
  /// <param name="sender"></param>
  /// <param name="E"></param>
  protected void MyDataGrid_Delete(Object sender, DataGridCommandEventArgs E)
  {
    String strID=MyDataGrid.DataKeys[(int)E.Item.ItemIndex].ToString();
    //刪除操作
  }
  /// <summary>
  /// 分頁操作
  /// </summary>
  /// <param name="sender"></param>
  /// <param name="e"></param>
  protected void MyDataGrid_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
  {
   MyDataGrid.CurrentPageIndex=e.NewPageIndex;
   BindGrid();
  }
  /// <summary>
  /// 排序
  /// </summary>
  /// <param name="sender"></param>
  /// <param name="e"></param>
  protected void Sort_Grid(object sender, DataGridSortCommandEventArgs e)
  {
   DataView dv= new DataView(GetData().Tables["vCO"]);
   dv.Sort= e.SortExpression.ToString();
   MyDataGrid.DataSource=dv;
   MyDataGrid.DataBind();
  }

  #region Web   override protected void OnInit(EventArgs e)
  {
   //   //
   InitializeComponent();
   base.OnInit(e);
  }

  /// <summary>  /// </summary>
  private void InitializeComponent()
  {   
   this.ddlWk.SelectedIndexChanged += new System.EventHandler(this.ddlWk_SelectedIndexChanged);
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion

  private void ddlWk_SelectedIndexChanged(object sender, System.EventArgs e)
  {
   Session["WP"]=ddlWk.SelectedValue;
   MyDataGrid.CurrentPageIndex=0;//沒有這一句,當該頁碼超出其他數據源的范圍時會出錯
   BindGrid();
   Response.Write( "<script language='Javascript'>parent.menuframe.location.reload();</script>");

  }

AspNet技術DataGrid同時具有分頁和排序功能及注意點,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 五月婷婷六月婷婷 | 最新国产精品自拍 | 国产中文字幕在线视频 | 天天色综网 | 国产中文在线 | 免费一级乱子伦片 | 欧美另类videosbest视频 | 成人夜色视频在线观看网站 | 91丝袜美腿高跟国产极品老师 | 黄色在线免费观看网站 | 精品在线观看免费 | 六月婷婷开开放处 | 国产91中文剧情在线观看 | 免费高清小黄站在线观看 | 国产91久久久久久久免费 | 91精品一区二区三区久久久久 | 精品久久网 | 欧美日本韩国一区 | 美女三级在线 | 九九久久精品国产 | 香蕉97超级碰碰碰免费公 | 黄色免费网站在线 | 亚洲成a人在线观看 | 国产一区中文字幕在线观看 | 99在线精品日韩一区免费国产 | 色综合久久91| 久久激情小说 | 最新97超级碰碰碰碰久久久久 | 亚洲六月丁香六月婷婷色伊人 | 国产色在线视频 | 中文字幕在线一区二区三区 | h成人在线 | 国内精品在线播放 | 国内精品久久久久影院网站 | 伊人久久免费视频 | 亚洲图片小说区 | 精品一区二区三区视频在线观看免 | 毛片韩国 | 精品国产国产综合精品 | 欧美三级成人观看 | 一区二区三区国产美女在线播放 |