zoukankan      html  css  js  c++  java
  • datagrid分頁,排序,跨頁多選。

     datagrid分頁,排序,跨頁多選。可以分頁後還是排序的。
    如果大家測出什麼bug,請留言,大家一起討論。
    如果大家有什麼別的好文章請貼出聯接共享。
    好的文章待續ing。

      1using System;
      2using System.Collections;
      3using System.ComponentModel;
      4using System.Data;
      5using System.Drawing;
      6using System.Web;
      7using System.Web.SessionState;
      8using System.Web.UI;
      9using System.Web.UI.WebControls;
     10using System.Web.UI.HtmlControls;
     11using System.Xml;
     12using System.Xml.XPath;
     13using System.Text;
     14
     15namespace WebApplication4
     16{
     17    /// <summary>
     18    /// WebForm1 的摘要描述。
     19    /// </summary>

     20    public class WebForm1 : System.Web.UI.Page
     21    {
     22        protected System.Web.UI.HtmlControls.HtmlInputHidden hidselectindex;
     23        protected System.Web.UI.WebControls.Label Label1;
     24        protected System.Web.UI.WebControls.Button Button1;
     25        protected System.Web.UI.WebControls.Label SortOrder;
     26        protected System.Web.UI.WebControls.Label RequestedPage;
     27        protected System.Web.UI.WebControls.DataGrid DataGrid1;
     28    
     29        private void Page_Load(object sender, System.EventArgs e)
     30        {
     31            // 在這裡放置使用者程式碼以初始化網頁
     32            if(!Page.IsPostBack)
     33            {
     34                SortOrder.Text = "Name";
     35                this.RequestedPage.Text="0";
     36
     37                Bind();
     38            }

     39            select();
     40//            add();
     41        }

     42
     43        Web Form 設計工具產生的程式碼
     67        private  void Bind()
     68        {
     69            DataSet ds=new DataSet();
     70            ds.ReadXml(Server.MapPath("user.xml"));
     71            DataView dv=new DataView();
     72            dv=ds.Tables[0].DefaultView;
     73            this.DataGrid1.DataSource=ds.Tables[0].DefaultView;
     74            if(Convert.ToInt32(this.RequestedPage.Text)>=Convert.ToInt32(ds.Tables[0].Rows.Count/this.DataGrid1.PageSize))
     75                 RequestedPage.Text = "0";
     76            dv.Sort=SortOrder.Text;
     77            this.DataGrid1.CurrentPageIndex=Convert.ToInt32(this.RequestedPage.Text);
     78            this.DataGrid1.DataBind();
     79            select();
     80//            add();
     81        }

     82
     83        private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
     84        {
     85            this.RequestedPage.Text=e.NewPageIndex.ToString();
     86            Bind();
     87        }

     88
     89
     90        private void select()
     91        {    
     92            foreach ( DataGridItem item in this.DataGrid1.Controls[0].Controls) 
     93            
     94                if (item.ItemType == ListItemType.Header) 
     95                
     96                    
     97                    CheckBox CheckBox1=(CheckBox)item.FindControl("CheckBox1"); 
     98                    System.Text.StringBuilder strscript = new System.Text.StringBuilder("<script language='javascript'> \n"); 
     99                    strscript.Append(" function checkstatus() { \n"); 
    100                    strscript.Append(" var ball = true; \n"); 
    101                    strscript.Append(" ball = document.all('" + CheckBox1.ClientID + "').checked; \n"); 
    102
    103                    for(int i=0; i<this.DataGrid1.Items.Count ; i++
    104                    
    105                        strscript.Append(" document.all('" + ((HtmlInputCheckBox)(this.DataGrid1.Items[i].Cells[0].FindControl("CheckBox2"))).ClientID+ "').checked = ball; \n");
    106                        strscript.Append(" AddRemoveValues(document.all('" + ((HtmlInputCheckBox)(this.DataGrid1.Items[i].Cells[0].FindControl("CheckBox2"))).ClientID+ "')); \n");
    107                    }
     
    108                    strscript.Append(" } \n"); 
    109                    strscript.Append("</script> \n"); 
    110                    if(!Page.IsClientScriptBlockRegistered("checkstatus")) 
    111                        Page.RegisterClientScriptBlock("checkstatus",strscript.ToString()); 
    112                    CheckBox1.Attributes.Add("onclick","checkstatus()"); 
    113                    return
    114                }
     
    115            }

    116        }

    117
    118        private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    119        {
    120            if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    121            {
    122                if(hidselectindex.Value.IndexOf(e.Item.Cells[1].Text) >= 0 )
    123                {
    124                    HtmlInputCheckBox CheckBox2 = (HtmlInputCheckBox)(e.Item.Cells[0].FindControl("CheckBox2"));
    125                    CheckBox2.Checked = true;
    126                }

    127            }

    128
    129        }

    130
    131        private void Button1_Click(object sender, System.EventArgs e)
    132        {
    133            Label1.Text = hidselectindex.Value.Replace(",","<li>");
    134
    135        }

    136
    137        private void DataGrid1_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
    138        {
    139         if(SortOrder.Text.Trim()==e.SortExpression.Trim())
    140                SortOrder.Text = e.SortExpression.Trim() + " desc";
    141        else
    142            SortOrder.Text = e.SortExpression.Trim();
    143            Bind();
    144
    145        }

    146
    147        
    148
    149    }

    150}

    151
    原代碼:
    /Files/gjcn/WebForm1.rar

  • 相关阅读:
    CSS选择器及优先级
    iframe中跨域页面访问parent的方法
    网页外链用了 target=_blank,结果悲剧了
    CarbonData:大数据融合数仓新一代引擎
    补习系列(14)-springboot redis 整合-数据读写
    python读写配置文件使用总结与避坑指南
    【云速建站】后台配置邮费
    解析:区块链的本质是伴随信息社会产生的一种新型生产关系
    用“黑科技”产放心粮,种地竟然和想象中有点不一样
    【云速建站】按照给定模板从0开始编辑网站页面
  • 原文地址:https://www.cnblogs.com/gjcn/p/354741.html
Copyright © 2011-2022 走看看