ASP.NET中DataGrid的简单用法

  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.Data.SqlClient;
 12namespace DataGridTest
 13{
 14    /// <summary>
 15    /// WebForm1 的摘要说明。
 16    /// </summary>

 17    public class WebForm1 : System.Web.UI.Page
 18    {
 19        protected System.Web.UI.WebControls.Button Button1;
 20        protected System.Web.UI.WebControls.HyperLink HyperLink1;
 21        protected System.Web.UI.WebControls.DataGrid DataGrid1;
 22    
 23        private void Page_Load(object sender, System.EventArgs e)
 24        {
 25            if(!this.IsPostBack)
 26            {
 27                this.BindToDataGrid();
 28            }

 29                
 30            // 在此处放置用户代码以初始化页面
 31        }

 32        private void BindToDataGrid()
 33        {
 34            SqlConnection con=DB.createCon();
 35            SqlDataAdapter sda=new SqlDataAdapter(); //数据适配器
 36            sda.SelectCommand=new SqlCommand("select * from employees",con);
 37            DataSet ds=new DataSet();
 38            sda.Fill(ds,"emp");
 39            this.DataGrid1.DataSource=ds.Tables["emp"];
 40            this.DataGrid1.DataBind();
 41        }

 42        Web 窗体设计器生成的代码
 67
 68        private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e)
 69        {
 70        }

 71
 72        private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
 73        {
 74            this.DataGrid1.CurrentPageIndex=e.NewPageIndex;
 75            this.BindToDataGrid();
 76        }

 77
 78        private void Button1_Click(object sender, System.EventArgs e)
 79        {
 80            if(DataGrid1.Columns[1].Visible==true)
 81            {
 82                this.DataGrid1.Columns[1].Visible=false;
 83            }

 84            else
 85            {
 86                this.DataGrid1.Columns[1].Visible=true;
 87            }

 88        }

 89
 90        private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
 91        {
 92            if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
 93            {   //添加脚本,使鼠标移动到项上发生变化
 94                e.Item.Attributes.Add("onmouseover","c=this.style.backgroundColor;this.style.backgroundColor='#eeeeee'");
 95                e.Item.Attributes.Add("onmouseout","this.style.backgroundColor=c");
 96            }

 97        }

 98
 99        private void DataGrid1_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
100        {//列值进行排序
101            if(ViewState["Order"]==null)
102            {
103                ViewState["Order"]="ASC";
104            }

105            else
106            {
107                if(ViewState["Order"].ToString()=="ASC")
108                {
109                    ViewState["Order"]="DESC";
110                }

111                else
112                {
113                    ViewState["Order"]="ASC";
114                }

115                
116            }

117            //数据绑定显示
118            SqlConnection con=DB.createCon();
119            SqlDataAdapter sda=new SqlDataAdapter(); //数据适配器
120            sda.SelectCommand=new SqlCommand("select * from employees",con);
121            DataSet ds=new DataSet();
122            sda.Fill(ds,"emp");
123            ds.Tables["emp"].DefaultView.Sort=e.SortExpression+" "+ViewState["Order"].ToString();
124            this.DataGrid1.DataSource=ds.Tables["emp"].DefaultView;
125            this.DataGrid1.DataBind();
126        }

127    }

128}

129
posted @ 2006-04-12 23:01  拼博之路  阅读(3359)  评论(0编辑  收藏  举报