功能齐全的DataGrid

本文转载自:https://www.cnblogs.com/singlepine/archive/2005/11/01/266538.html 作者:singlepine 转载请注明该声明。
功能齐全的DataGrid// 目前DataGrid.html' target='_self'>功能:编辑、排序、单选项、复选项、合并单元格、产生***、联动下拉框、删除、超连接、鼠标移动改变颜色、奇偶项颜色区分、排序、分页
功能齐全的DataGrid
1.html代码
功能齐全的DataGrid< HTML >
功能齐全的DataGrid    
< HEAD >
功能齐全的DataGrid        
< title > DatagridTest </ title >
功能齐全的DataGrid        
< meta  content ="Microsoft Visual Studio .NET 7.1"  name ="GENERATOR" >
功能齐全的DataGrid        
< meta  content ="C#"  name ="CODE_LANGUAGE" >
功能齐全的DataGrid        
< meta  content ="JavaScript"  name ="vs_defaultClientScript" >
功能齐全的DataGrid        
< meta  content ="http://schemas.microsoft.com/intellisense/ie5"  name ="vs_targetSchema" >
功能齐全的DataGrid功能齐全的DataGrid        
< script  language ="javascript" > 功能齐全的DataGrid
功能齐全的DataGrid            
function fun_option(obj)
功能齐全的DataGrid功能齐全的DataGrid            
功能齐全的DataGrid{
功能齐全的DataGrid                document.Form1.hiduserid.value
=obj.value;
功能齐全的DataGrid            }
            
功能齐全的DataGrid            
function chkAll_true()
功能齐全的DataGrid功能齐全的DataGrid            
功能齐全的DataGrid{
功能齐全的DataGrid                
var chkall= document.all["chkAll"];
功能齐全的DataGrid                
var chkother= document.getElementsByTagName("input");
功能齐全的DataGrid                
for (var i=0;i<chkother.length;i++)
功能齐全的DataGrid功能齐全的DataGrid                
功能齐全的DataGrid{
功能齐全的DataGrid                    
if( chkother[i].type=='checkbox')
功能齐全的DataGrid功能齐全的DataGrid                    
功能齐全的DataGrid{
功能齐全的DataGrid                        
if(chkother[i].id.indexOf('chkExport')>-1)
功能齐全的DataGrid功能齐全的DataGrid                        
功能齐全的DataGrid{
功能齐全的DataGrid                            
if(chkall.checked==true)
功能齐全的DataGrid功能齐全的DataGrid                            
功能齐全的DataGrid{
功能齐全的DataGrid                                chkother[i].checked
=true;
功能齐全的DataGrid                            }

功能齐全的DataGrid                            
else
功能齐全的DataGrid功能齐全的DataGrid                            
功能齐全的DataGrid{
功能齐全的DataGrid                                chkother[i].checked
=false;
功能齐全的DataGrid                            }

功能齐全的DataGrid                        }

功能齐全的DataGrid                    }

功能齐全的DataGrid                }

功能齐全的DataGrid            }

功能齐全的DataGrid            
功能齐全的DataGrid            
function Delete()
功能齐全的DataGrid功能齐全的DataGrid            
功能齐全的DataGrid{
功能齐全的DataGrid                
var  al = new Array();
功能齐全的DataGrid                
var chkother= document.getElementsByTagName("input");
功能齐全的DataGrid                
for(var i=0,j=0;i<chkother.length;i++)
功能齐全的DataGrid功能齐全的DataGrid                
功能齐全的DataGrid{
功能齐全的DataGrid                    
if( chkother[i].type =='checkbox')
功能齐全的DataGrid功能齐全的DataGrid                    
功能齐全的DataGrid{
功能齐全的DataGrid                        
if(chkother[i].id.indexOf('chkExport')>-1)
功能齐全的DataGrid功能齐全的DataGrid                        
功能齐全的DataGrid{
功能齐全的DataGrid                            
if(chkother[i].checked==true)
功能齐全的DataGrid功能齐全的DataGrid                            
功能齐全的DataGrid{
功能齐全的DataGrid                                al[j] 
=chkother[i].value;
功能齐全的DataGrid                                j
++;
功能齐全的DataGrid                            }

功能齐全的DataGrid                        }

功能齐全的DataGrid                    }

功能齐全的DataGrid                }

功能齐全的DataGrid                
if (al == "")
功能齐全的DataGrid功能齐全的DataGrid                
功能齐全的DataGrid{
功能齐全的DataGrid                    alert('You need to select a row 
in the list before selecting Delete.\r\nPlease select a row and try again.');
功能齐全的DataGrid                }

功能齐全的DataGrid                
else if (window.confirm("Are you sure to delete all these?"))
功能齐全的DataGrid功能齐全的DataGrid                
功能齐全的DataGrid{
功能齐全的DataGrid                    
var deleteID='<%=btndelete.ClientID%>';
功能齐全的DataGrid                    window.document.all(deleteID).click();
功能齐全的DataGrid                }

功能齐全的DataGrid                else { return false; }
               
功能齐全的DataGrid            }

功能齐全的DataGrid        
</ script >
功能齐全的DataGrid    
</ HEAD >
功能齐全的DataGrid    
< body >
功能齐全的DataGrid        
< form  id ="Form1"  method ="post"  runat ="server" >
功能齐全的DataGrid            
< TABLE  id ="Table1"  height ="100%"  cellSpacing ="1"  cellPadding ="1"  width ="100%"  border ="1" >
功能齐全的DataGrid                
< tr >
功能齐全的DataGrid                    
< td >< asp:dropdownlist  id ="DropDownList1"  runat ="server"  AutoPostBack ="True" ></ asp:dropdownlist >< asp:dropdownlist  id ="DropDownList2"  runat ="server"  AutoPostBack ="True" ></ asp:dropdownlist >< asp:dropdownlist  id ="DropDownList3"  runat ="server" ></ asp:dropdownlist >< asp:textbox  id ="TextBox1"  runat ="server" ></ asp:textbox >< asp:checkbox  id ="CheckBox1"  runat ="server"  Text ="可见否" ></ asp:checkbox >< asp:button  id ="Button1"  runat ="server"  Text ="保存" ></ asp:button >< asp:button  id ="Button2"  runat ="server"  Text ="导出Excel" ></ asp:button ></ td >
功能齐全的DataGrid                
</ tr >
功能齐全的DataGrid                
< tr  height ="30" >
功能齐全的DataGrid                    
< td >< INPUT  id ="chkAll"  onclick ="chkAll_true()"  type ="checkbox" > 全选/取消 < asp:button  id ="btndelete"  runat ="server"  Text ="删除" ></ asp:button ></ td >
功能齐全的DataGrid                
</ tr >
功能齐全的DataGrid                
< TR  vAlign ="top" >
功能齐全的DataGrid                    
< TD  width ="100%"  colSpan ="5" >< asp:datagrid  id ="DataGrid1"  runat ="server"  OnDeleteCommand ="Delete"  ForeColor ="Black"  GridLines ="None"
功能齐全的DataGrid                            CellPadding
="2"  BackColor ="LightGoldenrodYellow"  BorderWidth ="1px"  BorderColor ="Tan"  AllowSorting ="True"  AutoGenerateColumns ="False"
功能齐全的DataGrid                            DataKeyField
="UserID"  OnUpdateCommand ="Update"  OnCancelCommand ="Cancel"  OnEditCommand ="Edit"  PageSize ="5"  AllowPaging ="True" >
功能齐全的DataGrid                            
< FooterStyle  BackColor ="Tan" ></ FooterStyle >
功能齐全的DataGrid                            
< SelectedItemStyle  ForeColor ="GhostWhite"  BackColor ="DarkSlateBlue" ></ SelectedItemStyle >
功能齐全的DataGrid                            
< AlternatingItemStyle  BackColor ="PaleGoldenrod" ></ AlternatingItemStyle >
功能齐全的DataGrid                            
< HeaderStyle  Font-Bold ="True"  BackColor ="Tan" ></ HeaderStyle >
功能齐全的DataGrid                            
< Columns >
功能齐全的DataGrid                                
< asp:TemplateColumn  HeaderText ="序号" >
功能齐全的DataGrid                                    
< HeaderStyle  Width ="10px" ></ HeaderStyle >
功能齐全的DataGrid                                    
< ItemTemplate >
功能齐全的DataGrid                                        
< INPUT  id =radio  onclick =fun_option(this)  type =radio  value ='<%#  DataBinder.Eval(Container.DataItem,"UserID") % > ' name=radio>
功能齐全的DataGrid                                    
</ ItemTemplate >
功能齐全的DataGrid                                    
< FooterTemplate >
功能齐全的DataGrid                                    
</ FooterTemplate >
功能齐全的DataGrid                                
</ asp:TemplateColumn >
功能齐全的DataGrid                                
< asp:TemplateColumn  HeaderText ="序号" >
功能齐全的DataGrid                                    
< HeaderStyle  Width ="10px" ></ HeaderStyle >
功能齐全的DataGrid                                    
< FooterTemplate >
功能齐全的DataGrid                                    
</ FooterTemplate >
功能齐全的DataGrid                                
</ asp:TemplateColumn >
功能齐全的DataGrid                                
< asp:TemplateColumn >
功能齐全的DataGrid                                    
< HeaderStyle  Width ="10px" ></ HeaderStyle >
功能齐全的DataGrid                                    
< ItemTemplate >
功能齐全的DataGrid                                        
< asp:CheckBox  id ="chkExport"  Runat ="server" ></ asp:CheckBox >
功能齐全的DataGrid                                    
</ ItemTemplate >
功能齐全的DataGrid                                
</ asp:TemplateColumn >
功能齐全的DataGrid                                
< asp:BoundColumn  DataField ="UserID"  SortExpression ="UserID"  ReadOnly ="True"  HeaderText ="UserID" >
功能齐全的DataGrid                                    
< HeaderStyle  Width ="70px" ></ HeaderStyle >
功能齐全的DataGrid                                
</ asp:BoundColumn >
功能齐全的DataGrid                                
< asp:TemplateColumn  SortExpression ="UserName"  HeaderText ="姓名" >
功能齐全的DataGrid                                    
< HeaderStyle  Width ="70px" ></ HeaderStyle >
功能齐全的DataGrid                                    
< ItemTemplate >
功能齐全的DataGrid功能齐全的DataGrid                                        
< href ='form1.aspx?id=<%#  DataBinder.Eval(Container.DataItem,"UserID") % > &name = <% 功能齐全的DataGrid # DataBinder.Eval(Container.DataItem,"UserName" %> ' target="_blank">
功能齐全的DataGrid功能齐全的DataGrid                                            
<% 功能齐全的DataGrid # DataBinder.Eval(Container.DataItem,"UserName" %>
功能齐全的DataGrid                                        
</ a >
功能齐全的DataGrid                                    
</ ItemTemplate >
功能齐全的DataGrid                                    
< EditItemTemplate >
功能齐全的DataGrid                                        
< asp:TextBox  id =UserName  Text ='<%#  DataBinder.Eval(Container.DataItem,"UserName") % > ' Width="100%" Runat="server">
功能齐全的DataGrid                                        
</ asp:TextBox >
功能齐全的DataGrid                                    
</ EditItemTemplate >
功能齐全的DataGrid                                
</ asp:TemplateColumn >
功能齐全的DataGrid                                
< asp:TemplateColumn  SortExpression ="province"  HeaderText ="省市" >
功能齐全的DataGrid                                    
< HeaderStyle  Width ="70px" ></ HeaderStyle >
功能齐全的DataGrid                                    
< ItemTemplate >
功能齐全的DataGrid功能齐全的DataGrid                                        
<% 功能齐全的DataGrid # DataBinder.Eval(Container.DataItem,"province" %>
功能齐全的DataGrid                                    
</ ItemTemplate >
功能齐全的DataGrid                                    
< EditItemTemplate >
功能齐全的DataGrid                                        
< asp:DropDownList  id ="province"  Width ="100%"  Runat ="server"  AutoPostBack ="True"  OnSelectedIndexChanged ="ddlprovince_SelectedIndexChanged" ></ asp:DropDownList >
功能齐全的DataGrid                                    
</ EditItemTemplate >
功能齐全的DataGrid                                
</ asp:TemplateColumn >
功能齐全的DataGrid                                
< asp:TemplateColumn  SortExpression ="city"  HeaderText ="县市" >
功能齐全的DataGrid                                    
< HeaderStyle  Width ="70px" ></ HeaderStyle >
功能齐全的DataGrid                                    
< ItemTemplate >
功能齐全的DataGrid功能齐全的DataGrid                                        
<% 功能齐全的DataGrid # DataBinder.Eval(Container.DataItem,"city" %>
功能齐全的DataGrid                                    
</ ItemTemplate >
功能齐全的DataGrid                                    
< EditItemTemplate >
功能齐全的DataGrid                                        
< asp:DropDownList  id ="city"  Runat ="server"  Width ="100%"  AutoPostBack ="True"  OnSelectedIndexChanged ="ddlcity_SelectedIndexChanged" ></ asp:DropDownList >
功能齐全的DataGrid                                    
</ EditItemTemplate >
功能齐全的DataGrid                                
</ asp:TemplateColumn >
功能齐全的DataGrid                                
< asp:TemplateColumn  SortExpression ="area"  HeaderText ="乡镇" >
功能齐全的DataGrid                                    
< HeaderStyle  Width ="70px" ></ HeaderStyle >
功能齐全的DataGrid                                    
< ItemTemplate >
功能齐全的DataGrid功能齐全的DataGrid                                        
<% 功能齐全的DataGrid # DataBinder.Eval(Container.DataItem,"area" %>
功能齐全的DataGrid                                    
</ ItemTemplate >
功能齐全的DataGrid                                    
< EditItemTemplate >
功能齐全的DataGrid                                        
< asp:DropDownList  id ="area"  Runat ="server"  Width ="100%" ></ asp:DropDownList >
功能齐全的DataGrid                                    
</ EditItemTemplate >
功能齐全的DataGrid                                
</ asp:TemplateColumn >
功能齐全的DataGrid                                
< asp:TemplateColumn  SortExpression ="Enabled"  HeaderText ="可见否" >
功能齐全的DataGrid                                    
< HeaderStyle  Width ="70px" ></ HeaderStyle >
功能齐全的DataGrid                                    
< ItemTemplate >
功能齐全的DataGrid功能齐全的DataGrid                                        
<% 功能齐全的DataGrid # DataBinder.Eval(Container.DataItem,"Enabled" %>
功能齐全的DataGrid                                    
</ ItemTemplate >
功能齐全的DataGrid                                    
< EditItemTemplate >
功能齐全的DataGrid                                        
< asp:CheckBox  id =chkenabled  Runat ="server"  Checked ='<%#  DataBinder.Eval(Container.DataItem,"Enabled") % > '>
功能齐全的DataGrid                                        
</ asp:CheckBox >
功能齐全的DataGrid                                    
</ EditItemTemplate >
功能齐全的DataGrid                                
</ asp:TemplateColumn >
功能齐全的DataGrid                                
< asp:EditCommandColumn  ButtonType ="PushButton"  UpdateText ="更新"  HeaderText ="编辑"  CancelText ="取消"  EditText ="编辑" ></ asp:EditCommandColumn >
功能齐全的DataGrid                                
< asp:ButtonColumn  Text ="删除"  ButtonType ="PushButton"  HeaderText ="删除"  CommandName ="Delete" ></ asp:ButtonColumn >
功能齐全的DataGrid                            
</ Columns >
功能齐全的DataGrid                            
< PagerStyle  NextPageText ="下一页"  PrevPageText ="上一页"  HorizontalAlign ="Right"  ForeColor ="DarkSlateBlue"
功能齐全的DataGrid                                BackColor
="PaleGoldenrod"  Mode ="NumericPages" ></ PagerStyle >
功能齐全的DataGrid                        
</ asp:datagrid ></ TD >
功能齐全的DataGrid                
</ TR >
功能齐全的DataGrid                
< tr  height ="30" >
功能齐全的DataGrid                    
< td ></ td >
功能齐全的DataGrid                
</ tr >
功能齐全的DataGrid            
</ TABLE >
功能齐全的DataGrid            
< INPUT  id ="hiduserid"  type ="hidden"  runat ="server" >
功能齐全的DataGrid        
</ form >
功能齐全的DataGrid    
</ body >
功能齐全的DataGrid
</ HTML >
功能齐全的DataGrid
2.cs代码
功能齐全的DataGridusing  System.Data.SqlClient;
功能齐全的DataGrid
using  System.Text;

功能齐全的DataGridpublic   class  DatagridTest : System.Web.UI.Page
功能齐全的DataGrid功能齐全的DataGrid    
功能齐全的DataGrid {
功能齐全的DataGrid        
protected System.Web.UI.WebControls.DataGrid DataGrid1;
功能齐全的DataGrid        
protected System.Web.UI.HtmlControls.HtmlInputHidden hiduserid;
功能齐全的DataGrid        
protected System.Web.UI.WebControls.Button btndelete;
功能齐全的DataGrid        
protected System.Web.UI.WebControls.DropDownList DropDownList1;
功能齐全的DataGrid        
protected System.Web.UI.WebControls.DropDownList DropDownList2;
功能齐全的DataGrid        
protected System.Web.UI.WebControls.DropDownList DropDownList3;
功能齐全的DataGrid        
protected System.Web.UI.WebControls.CheckBox CheckBox1;
功能齐全的DataGrid        
protected System.Web.UI.WebControls.TextBox TextBox1;
功能齐全的DataGrid        
protected System.Web.UI.WebControls.Button Button1;
功能齐全的DataGrid        
protected System.Web.UI.WebControls.Button Button2;
功能齐全的DataGrid
功能齐全的DataGrid        
private string constring="";        
功能齐全的DataGrid        
功能齐全的DataGrid        
private void Page_Load(object sender, System.EventArgs e)
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            
if(!Page.IsPostBack)
功能齐全的DataGrid功能齐全的DataGrid            
功能齐全的DataGrid{
功能齐全的DataGrid                ListProvince();
功能齐全的DataGrid                ListCity();
功能齐全的DataGrid                ListArea();
功能齐全的DataGrid
功能齐全的DataGrid                btndelete.Attributes.Add(
"onclick","return Delete();");
功能齐全的DataGrid                SortExpression
="";
功能齐全的DataGrid                sort
="desc";
功能齐全的DataGrid                DataBind();
功能齐全的DataGrid            }
            
功能齐全的DataGrid        }

功能齐全的DataGrid
功能齐全的DataGrid
功能齐全的DataGrid功能齐全的DataGrid        
DataBind#region DataBind
功能齐全的DataGrid        
private void DataBind()
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            
string sql="select a.UserID,a.UserName,b.province,c.city,d.area,a.Enabled,b.provinceID,c.cityID,d.areaID from testgrid a ";
功能齐全的DataGrid            sql
+=" left join province b on a.provinceID=b.provinceID";
功能齐全的DataGrid            sql
+=" left join city c on a.cityID=c.cityID";
功能齐全的DataGrid            sql
+=" left join area d on a.areaID=d.areaID";
功能齐全的DataGrid            DataSet ds
=GetDataSet(sql);
功能齐全的DataGrid            dt
=ds.Tables[0];
功能齐全的DataGrid            dt.DefaultView.Sort
="UserID asc";
功能齐全的DataGrid            dt.AcceptChanges();
功能齐全的DataGrid            
this.DataGrid1.DataSource=dt;
功能齐全的DataGrid            
this.DataGrid1.DataBind();
功能齐全的DataGrid        }

功能齐全的DataGrid        
#endregion

功能齐全的DataGrid
功能齐全的DataGrid功能齐全的DataGrid        
Web Form Designer generated code#region Web Form Designer generated code
功能齐全的DataGrid        
override protected void OnInit(EventArgs e)
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            
//
功能齐全的DataGrid            
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
功能齐全的DataGrid            
//
功能齐全的DataGrid
            InitializeComponent();
功能齐全的DataGrid            
base.OnInit(e);
功能齐全的DataGrid            
this.DataGrid1.ItemDataBound+=new DataGridItemEventHandler(DataGrid1_ItemDataBound);
功能齐全的DataGrid            
this.DataGrid1.SortCommand+=new DataGridSortCommandEventHandler(DataGrid1_SortCommand);
功能齐全的DataGrid            
this.DataGrid1.ItemCreated+=new DataGridItemEventHandler(DataGrid1_ItemCreated);
功能齐全的DataGrid            
this.DataGrid1.PageIndexChanged+=new DataGridPageChangedEventHandler(DataGrid1_PageIndexChanged);
功能齐全的DataGrid            
this.btndelete.Click += new System.EventHandler(this.btndelete_Click);
功能齐全的DataGrid            
this.DropDownList1.SelectedIndexChanged += new System.EventHandler(this.DropDownList1_SelectedIndexChanged);
功能齐全的DataGrid            
this.DropDownList2.SelectedIndexChanged += new System.EventHandler(this.DropDownList2_SelectedIndexChanged);
功能齐全的DataGrid            
this.Button1.Click += new System.EventHandler(this.Button1_Click);
功能齐全的DataGrid            
this.Button2.Click += new System.EventHandler(this.Button2_Click);
功能齐全的DataGrid        }

功能齐全的DataGrid        
功能齐全的DataGrid功能齐全的DataGrid        
/**//// <summary>
功能齐全的DataGrid        
/// Required method for Designer support - do not modify
功能齐全的DataGrid        
/// the contents of this method with the code editor.
功能齐全的DataGrid        
/// </summary>

功能齐全的DataGrid        private void InitializeComponent()
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{    
功能齐全的DataGrid            
this.DropDownList1.SelectedIndexChanged += new System.EventHandler(this.DropDownList1_SelectedIndexChanged);
功能齐全的DataGrid            
this.DropDownList2.SelectedIndexChanged += new System.EventHandler(this.DropDownList2_SelectedIndexChanged);
功能齐全的DataGrid            
this.Button1.Click += new System.EventHandler(this.Button1_Click);
功能齐全的DataGrid            
this.Button2.Click += new System.EventHandler(this.Button2_Click);
功能齐全的DataGrid            
this.Load += new System.EventHandler(this.Page_Load);
功能齐全的DataGrid
功能齐全的DataGrid        }

功能齐全的DataGrid        
#endregion

功能齐全的DataGrid
功能齐全的DataGrid功能齐全的DataGrid        
GetDataSet#region GetDataSet
功能齐全的DataGrid        
private DataSet GetDataSet(string sql)
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            constring
=System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
功能齐全的DataGrid            SqlDataAdapter    sda 
=new SqlDataAdapter(sql,constring);
功能齐全的DataGrid            DataSet ds
=new DataSet();
功能齐全的DataGrid            sda.Fill(ds);
功能齐全的DataGrid            
return ds;
功能齐全的DataGrid        }

功能齐全的DataGrid        
#endregion

功能齐全的DataGrid        
功能齐全的DataGrid功能齐全的DataGrid        
DataGrid1_ItemDataBound#region DataGrid1_ItemDataBound
功能齐全的DataGrid        
private void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{            
功能齐全的DataGrid            e.Item.Cells[
1].Text=Convert.ToString(e.Item.ItemIndex+1);//产生序号
功能齐全的DataGrid
            if(e.Item.ItemType!=ListItemType.Header)
功能齐全的DataGrid功能齐全的DataGrid            
功能齐全的DataGrid{
功能齐全的DataGrid                
if(e.Item.ItemIndex%2==0)
功能齐全的DataGrid功能齐全的DataGrid                
功能齐全的DataGrid{
功能齐全的DataGrid                    e.Item.Attributes.Add( 
"onmouseout","this.style.backgroundColor='PaleGoldenrod'");
功能齐全的DataGrid                }

功能齐全的DataGrid                
else
功能齐全的DataGrid功能齐全的DataGrid                
功能齐全的DataGrid{
功能齐全的DataGrid                    e.Item.Attributes.Add( 
"onmouseout","this.style.backgroundColor='LightGoldenrodYellow'");
功能齐全的DataGrid                }

功能齐全的DataGrid              e.Item.Attributes.Add( 
"onmouseover","this.style.backgroundColor='#C1D2EE'");
功能齐全的DataGrid            }

功能齐全的DataGrid            
switch (e.Item.ItemType)
功能齐全的DataGrid功能齐全的DataGrid            
功能齐全的DataGrid{
功能齐全的DataGrid                
case ListItemType.Item:
功能齐全的DataGrid                
case ListItemType.AlternatingItem:
功能齐全的DataGrid                    e.Item.Attributes.Add(
"ondblclick","alert('"+e.Item.ItemIndex+"');");                    
功能齐全的DataGrid                    
break;
功能齐全的DataGrid                
case ListItemType.Header:
功能齐全的DataGrid                    e.Item.Cells[
0].ColumnSpan=2;//合并单元格
功能齐全的DataGrid
                    e.Item.Cells[1].Visible=false;
功能齐全的DataGrid                    
break;
功能齐全的DataGrid                
case ListItemType.EditItem:
功能齐全的DataGrid                    
for (int i=4; i < DataGrid1.Columns.Count-2; i++)//只调整被编辑的列
功能齐全的DataGrid功能齐全的DataGrid
                    功能齐全的DataGrid{
功能齐全的DataGrid                      
if(e.Item.ItemType==ListItemType.EditItem)
功能齐全的DataGrid功能齐全的DataGrid                      
功能齐全的DataGrid{
功能齐全的DataGrid                           e.Item.Cells[i].Attributes.Add(
"Width""70px");
功能齐全的DataGrid                      }

功能齐全的DataGrid                    }

功能齐全的DataGrid                    
string sqlprovince="select * from province";
功能齐全的DataGrid                    DataSet dsprovince
=GetDataSet(sqlprovince);
功能齐全的DataGrid                    
//一级
功能齐全的DataGrid
                    if(e.Item.ItemType==ListItemType.EditItem)
功能齐全的DataGrid功能齐全的DataGrid                    
功能齐全的DataGrid{
功能齐全的DataGrid                        DropDownList ddlprovince
=(DropDownList)e.Item.FindControl("province");
功能齐全的DataGrid                        ddlprovince.DataSource
=dsprovince;
功能齐全的DataGrid                        ddlprovince.DataTextField
="province";
功能齐全的DataGrid                        ddlprovince.DataValueField
="provinceID";
功能齐全的DataGrid                        ddlprovince.DataBind();
功能齐全的DataGrid                        ddlprovince.Items.FindByValue(Convert.ToString(DataBinder.Eval(e.Item.DataItem,
"provinceID"))).Selected=true;
功能齐全的DataGrid                        
//二级
功能齐全的DataGrid
                        if(e.Item.ItemType==ListItemType.EditItem)
功能齐全的DataGrid功能齐全的DataGrid                        
功能齐全的DataGrid{
功能齐全的DataGrid                            
if(ddlprovince.SelectedIndex!=-1)
功能齐全的DataGrid功能齐全的DataGrid                            
功能齐全的DataGrid{
功能齐全的DataGrid                                
string sqlcity="select * from city where father='"+ddlprovince.SelectedValue+"'";
功能齐全的DataGrid                                DropDownList ddlcity
=(DropDownList)e.Item.FindControl("city");
功能齐全的DataGrid                                DataSet dscity
=GetDataSet(sqlcity);                
功能齐全的DataGrid                                ddlcity.DataSource
=dscity;
功能齐全的DataGrid                                ddlcity.DataTextField
="city";
功能齐全的DataGrid                                ddlcity.DataValueField
="cityID";
功能齐全的DataGrid                                ddlcity.DataBind();
功能齐全的DataGrid                                ddlcity.Items.FindByValue(Convert.ToString(DataBinder.Eval(e.Item.DataItem,
"cityID"))).Selected=true;
功能齐全的DataGrid                                
//三级
功能齐全的DataGrid
                                if(e.Item.ItemType==ListItemType.EditItem)
功能齐全的DataGrid功能齐全的DataGrid                                
功能齐全的DataGrid{
功能齐全的DataGrid                                    
if(ddlcity.SelectedIndex!=-1)
功能齐全的DataGrid功能齐全的DataGrid                                    
功能齐全的DataGrid{
功能齐全的DataGrid                                        
string sqlarea="select * from area where father='"+ddlcity.SelectedValue+"'";
功能齐全的DataGrid                                        DropDownList ddlarea
=(DropDownList)e.Item.FindControl("area");
功能齐全的DataGrid                                        DataSet dsarea
=GetDataSet(sqlarea);                
功能齐全的DataGrid                                        ddlarea.DataSource
=dsarea;
功能齐全的DataGrid                                        ddlarea.DataTextField
="area";
功能齐全的DataGrid                                        ddlarea.DataValueField
="areaID";
功能齐全的DataGrid                                        ddlarea.DataBind();
功能齐全的DataGrid                                        ddlarea.Items.FindByValue(Convert.ToString(DataBinder.Eval(e.Item.DataItem,
"areaID"))).Selected=true;
功能齐全的DataGrid                                    }

功能齐全的DataGrid                                }

功能齐全的DataGrid                            }

功能齐全的DataGrid                        }

功能齐全的DataGrid                    }

功能齐全的DataGrid                    
break;
功能齐全的DataGrid                
default:
功能齐全的DataGrid                    
break;
功能齐全的DataGrid            }
            
功能齐全的DataGrid        }

功能齐全的DataGrid        
#endregion

功能齐全的DataGrid
功能齐全的DataGrid功能齐全的DataGrid        
DataGrid1_SortCommand#region DataGrid1_SortCommand
功能齐全的DataGrid        
private void DataGrid1_SortCommand(object source, DataGridSortCommandEventArgs e)
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            
if(SortExpression==e.SortExpression.ToString())
功能齐全的DataGrid功能齐全的DataGrid            
功能齐全的DataGrid{
功能齐全的DataGrid                
if(sort=="asc")
功能齐全的DataGrid功能齐全的DataGrid                
功能齐全的DataGrid{
功能齐全的DataGrid                    sort
="desc";
功能齐全的DataGrid                }

功能齐全的DataGrid                
else
功能齐全的DataGrid功能齐全的DataGrid                
功能齐全的DataGrid{
功能齐全的DataGrid                    sort
="asc";
功能齐全的DataGrid                }

功能齐全的DataGrid            }

功能齐全的DataGrid            
else
功能齐全的DataGrid功能齐全的DataGrid            
功能齐全的DataGrid{
功能齐全的DataGrid                
if(sort=="asc")
功能齐全的DataGrid功能齐全的DataGrid                
功能齐全的DataGrid{
功能齐全的DataGrid                    sort
="desc";
功能齐全的DataGrid                }

功能齐全的DataGrid                
else
功能齐全的DataGrid功能齐全的DataGrid                
功能齐全的DataGrid{
功能齐全的DataGrid                    sort
="asc";
功能齐全的DataGrid                }

功能齐全的DataGrid            }

功能齐全的DataGrid            SortExpression
=e.SortExpression;
功能齐全的DataGrid            dt.DefaultView.Sort
=e.SortExpression+" "+sort;
功能齐全的DataGrid            DataGrid1.DataSource
=dt;
功能齐全的DataGrid            DataGrid1.DataBind();
功能齐全的DataGrid        }

功能齐全的DataGrid        
#endregion

功能齐全的DataGrid
功能齐全的DataGrid功能齐全的DataGrid        
DataGrid1_ItemCreated#region DataGrid1_ItemCreated
功能齐全的DataGrid        
private void DataGrid1_ItemCreated(object sender, DataGridItemEventArgs e)
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            
for (int i=3; i < DataGrid1.Columns.Count-2; i++)//-2的意思是两个button列不用排序
功能齐全的DataGrid功能齐全的DataGrid
            功能齐全的DataGrid{
功能齐全的DataGrid                
if (i == 0continue;
功能齐全的DataGrid                
if(e.Item.ItemIndex==-1)
功能齐全的DataGrid功能齐全的DataGrid                
功能齐全的DataGrid{
功能齐全的DataGrid                    
if (DataGrid1.Columns[i].SortExpression == SortExpression)
功能齐全的DataGrid功能齐全的DataGrid                    
功能齐全的DataGrid{
功能齐全的DataGrid                        
try
功能齐全的DataGrid功能齐全的DataGrid                        
功能齐全的DataGrid{
功能齐全的DataGrid                            TableCell tableCell 
= e.Item.Cells[i];
功能齐全的DataGrid                            Label label 
= new Label();
功能齐全的DataGrid                            label.Font.Name 
= "webdings";
功能齐全的DataGrid                            
if(sort=="asc")
功能齐全的DataGrid功能齐全的DataGrid                            
功能齐全的DataGrid{
功能齐全的DataGrid                                label.Text
="6";
功能齐全的DataGrid                            }

功能齐全的DataGrid                            
else
功能齐全的DataGrid功能齐全的DataGrid                            
功能齐全的DataGrid{
功能齐全的DataGrid                                label.Text
="5";
功能齐全的DataGrid                            }

功能齐全的DataGrid                            label.Width 
=20;
功能齐全的DataGrid                            tableCell.Controls.Add(label);
功能齐全的DataGrid                        }

功能齐全的DataGrid功能齐全的DataGrid                        
catch功能齐全的DataGrid{}
功能齐全的DataGrid                    }

功能齐全的DataGrid                }

功能齐全的DataGrid            }

功能齐全的DataGrid            
foreach(DataGridItem di in this.DataGrid1.Items) 
功能齐全的DataGrid功能齐全的DataGrid             
功能齐全的DataGrid{
功能齐全的DataGrid                
if(di.ItemType==ListItemType.Item||di.ItemType==ListItemType.AlternatingItem) 
功能齐全的DataGrid功能齐全的DataGrid              
功能齐全的DataGrid
功能齐全的DataGrid                   ((Button)di.Cells[
10].Controls[0]).Attributes.Add("onclick","return confirm('确认删除此项吗?');"); 
功能齐全的DataGrid              }
 
功能齐全的DataGrid            }

功能齐全的DataGrid        }

功能齐全的DataGrid
功能齐全的DataGrid
功能齐全的DataGrid        
#endregion

功能齐全的DataGrid
功能齐全的DataGrid功能齐全的DataGrid        
property#region property
功能齐全的DataGrid        
private DataTable dt
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            
get
功能齐全的DataGrid功能齐全的DataGrid            
功能齐全的DataGrid{
功能齐全的DataGrid                
if(ViewState["dt"]!=null)
功能齐全的DataGrid功能齐全的DataGrid                
功能齐全的DataGrid{
功能齐全的DataGrid                    
return (DataTable)ViewState["dt"];
功能齐全的DataGrid                }

功能齐全的DataGrid                
else
功能齐全的DataGrid功能齐全的DataGrid                
功能齐全的DataGrid{
功能齐全的DataGrid                    
return null;
功能齐全的DataGrid                }

功能齐全的DataGrid            }

功能齐全的DataGrid            
set
功能齐全的DataGrid功能齐全的DataGrid            
功能齐全的DataGrid{
功能齐全的DataGrid                ViewState[
"dt"]=value;
功能齐全的DataGrid            }

功能齐全的DataGrid        }

功能齐全的DataGrid        
private string SortExpression
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            
get
功能齐全的DataGrid功能齐全的DataGrid            
功能齐全的DataGrid{
功能齐全的DataGrid                
if(ViewState["SortExpression"]!=null && ViewState["SortExpression"].ToString()!=string.Empty)
功能齐全的DataGrid功能齐全的DataGrid                
功能齐全的DataGrid{
功能齐全的DataGrid                    
return ViewState["SortExpression"].ToString();
功能齐全的DataGrid                }

功能齐全的DataGrid                
else
功能齐全的DataGrid功能齐全的DataGrid                
功能齐全的DataGrid{
功能齐全的DataGrid                    
return "";
功能齐全的DataGrid                }

功能齐全的DataGrid            }

功能齐全的DataGrid            
set
功能齐全的DataGrid功能齐全的DataGrid            
功能齐全的DataGrid{
功能齐全的DataGrid                ViewState[
"SortExpression"]=value;
功能齐全的DataGrid            }

功能齐全的DataGrid        }

功能齐全的DataGrid        
private string sort
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            
get
功能齐全的DataGrid功能齐全的DataGrid            
功能齐全的DataGrid{
功能齐全的DataGrid                
if(ViewState["sort"]!=null && ViewState["sort"].ToString()!=string.Empty)
功能齐全的DataGrid功能齐全的DataGrid                
功能齐全的DataGrid{
功能齐全的DataGrid                    
return ViewState["sort"].ToString();
功能齐全的DataGrid                }

功能齐全的DataGrid                
else
功能齐全的DataGrid功能齐全的DataGrid                
功能齐全的DataGrid{
功能齐全的DataGrid                    
return "";
功能齐全的DataGrid                }

功能齐全的DataGrid            }

功能齐全的DataGrid            
set
功能齐全的DataGrid功能齐全的DataGrid            
功能齐全的DataGrid{
功能齐全的DataGrid                ViewState[
"sort"]=value;
功能齐全的DataGrid            }

功能齐全的DataGrid        }

功能齐全的DataGrid        
#endregion

功能齐全的DataGrid
功能齐全的DataGrid功能齐全的DataGrid        
Edit#region Edit
功能齐全的DataGrid        
protected void Edit(object sender,DataGridCommandEventArgs e)
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            
this.DataGrid1.EditItemIndex=e.Item.ItemIndex;
功能齐全的DataGrid            DataBind();
功能齐全的DataGrid        }

功能齐全的DataGrid        
#endregion

功能齐全的DataGrid
功能齐全的DataGrid功能齐全的DataGrid        
Cancel#region Cancel
功能齐全的DataGrid        
protected void Cancel(object sender,DataGridCommandEventArgs e)
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            
this.DataGrid1.EditItemIndex=-1;
功能齐全的DataGrid            DataBind();
功能齐全的DataGrid        }

功能齐全的DataGrid        
#endregion

功能齐全的DataGrid
功能齐全的DataGrid功能齐全的DataGrid        
Update#region Update
功能齐全的DataGrid        
protected void Update(object sender,DataGridCommandEventArgs e)
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            
if(e.Item.ItemType==ListItemType.EditItem)
功能齐全的DataGrid功能齐全的DataGrid            
功能齐全的DataGrid{
功能齐全的DataGrid                SqlConnection conn
=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
功能齐全的DataGrid                SqlCommand comm
=new SqlCommand("update testgrid set [email protected],[email protected],[email protected],[email protected],[email protected] where [email protected]",conn);
功能齐全的DataGrid                SqlParameter parm1
=new SqlParameter("@UserName",SqlDbType.NVarChar,50);
功能齐全的DataGrid                parm1.Value
=((TextBox)e.Item.FindControl("UserName")).Text;
功能齐全的DataGrid
功能齐全的DataGrid                SqlParameter parm2
=new SqlParameter("@province",SqlDbType.NVarChar,50);
功能齐全的DataGrid                parm2.Value
=((DropDownList)e.Item.FindControl("province")).SelectedValue;
功能齐全的DataGrid
功能齐全的DataGrid                SqlParameter parm3
=new SqlParameter("@city",SqlDbType.NVarChar,50);
功能齐全的DataGrid                parm3.Value
=((DropDownList)e.Item.FindControl("city")).SelectedValue;    
功能齐全的DataGrid            
功能齐全的DataGrid                SqlParameter parm4
=new SqlParameter("@area",SqlDbType.NVarChar,50);
功能齐全的DataGrid                parm4.Value
=((DropDownList)e.Item.FindControl("area")).SelectedValue;
功能齐全的DataGrid
功能齐全的DataGrid                SqlParameter parm5
=new SqlParameter("@Enabled",SqlDbType.Bit);
功能齐全的DataGrid                parm5.Value
=((CheckBox)e.Item.FindControl("chkenabled")).Checked;
功能齐全的DataGrid
功能齐全的DataGrid
功能齐全的DataGrid                SqlParameter parm6
=new SqlParameter("@UserID",SqlDbType.Int);
功能齐全的DataGrid                parm6.Value
=this.DataGrid1.DataKeys[e.Item.ItemIndex];
功能齐全的DataGrid
功能齐全的DataGrid                comm.Parameters.Add(parm1);
功能齐全的DataGrid                comm.Parameters.Add(parm2);
功能齐全的DataGrid                comm.Parameters.Add(parm3);
功能齐全的DataGrid                comm.Parameters.Add(parm4);
功能齐全的DataGrid                comm.Parameters.Add(parm5);
功能齐全的DataGrid                comm.Parameters.Add(parm6);
功能齐全的DataGrid                conn.Open();
功能齐全的DataGrid                comm.ExecuteNonQuery();
功能齐全的DataGrid                conn.Close();
功能齐全的DataGrid                
this.DataGrid1.EditItemIndex=-1;
功能齐全的DataGrid                DataBind();
功能齐全的DataGrid            }

功能齐全的DataGrid        }

功能齐全的DataGrid        
#endregion

功能齐全的DataGrid
功能齐全的DataGrid功能齐全的DataGrid        
Delete event#region Delete event
功能齐全的DataGrid        
protected void Delete(object sender,DataGridCommandEventArgs e)
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            delete(
this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString());
功能齐全的DataGrid        }

功能齐全的DataGrid        
#endregion

功能齐全的DataGrid
功能齐全的DataGrid功能齐全的DataGrid        
ddlprovince_SelectedIndexChanged#region ddlprovince_SelectedIndexChanged
功能齐全的DataGrid        
public void ddlprovince_SelectedIndexChanged(object sender, EventArgs e)
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            DropDownList ddlprovince 
= sender as DropDownList;
功能齐全的DataGrid            
if(ddlprovince.SelectedIndex!=-1)
功能齐全的DataGrid功能齐全的DataGrid            
功能齐全的DataGrid{
功能齐全的DataGrid                DropDownList ddlcity 
= ((Control)(((Control)sender)).Parent).FindControl("city"as DropDownList;
功能齐全的DataGrid                
string sqlcity="select * from city where father='"+ddlprovince.SelectedValue+"'";
功能齐全的DataGrid                DataSet dscity
=GetDataSet(sqlcity);
功能齐全的DataGrid                ddlcity.DataSource
=dscity;
功能齐全的DataGrid                ddlcity.DataTextField
="city";
功能齐全的DataGrid                ddlcity.DataValueField
="cityID";
功能齐全的DataGrid                ddlcity.DataBind();
功能齐全的DataGrid            }

功能齐全的DataGrid        }

功能齐全的DataGrid        
#endregion

功能齐全的DataGrid
功能齐全的DataGrid功能齐全的DataGrid        
ddlcity_SelectedIndexChanged#region ddlcity_SelectedIndexChanged
功能齐全的DataGrid        
public void ddlcity_SelectedIndexChanged(object sender, EventArgs e)
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            DropDownList ddlcity 
= sender as DropDownList;
功能齐全的DataGrid            
if(ddlcity.SelectedIndex!=-1)
功能齐全的DataGrid功能齐全的DataGrid            
功能齐全的DataGrid{
功能齐全的DataGrid                DropDownList ddlarea 
= ((Control)(((Control)sender)).Parent).FindControl("city"as DropDownList;
功能齐全的DataGrid                
string sqlarea="select * from area where father='"+ddlcity.SelectedValue+"'";
功能齐全的DataGrid                DataSet dsarea
=GetDataSet(sqlarea);
功能齐全的DataGrid                ddlarea.DataSource
=dsarea;
功能齐全的DataGrid                ddlarea.DataTextField
="area";
功能齐全的DataGrid                ddlarea.DataValueField
="areaID";
功能齐全的DataGrid                ddlarea.DataBind();
功能齐全的DataGrid            }

功能齐全的DataGrid        }

功能齐全的DataGrid        
#endregion

功能齐全的DataGrid
功能齐全的DataGrid功能齐全的DataGrid        
btndelete_Click#region btndelete_Click
功能齐全的DataGrid        
private void btndelete_Click(object sender, System.EventArgs e)
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            StringBuilder s
=new StringBuilder();
功能齐全的DataGrid            
foreach(DataGridItem di in DataGrid1.Items) 
功能齐全的DataGrid功能齐全的DataGrid            
功能齐全的DataGrid
功能齐全的DataGrid                 
if(((CheckBox)(di.FindControl("chkExport"))).Checked==true
功能齐全的DataGrid功能齐全的DataGrid                 
功能齐全的DataGrid
功能齐全的DataGrid                  s.Append(
",").Append(DataGrid1.DataKeys[di.ItemIndex].ToString());
功能齐全的DataGrid                 }
 
功能齐全的DataGrid            }
 
功能齐全的DataGrid            
if(s.ToString().StartsWith(",")==true)
功能齐全的DataGrid功能齐全的DataGrid            
功能齐全的DataGrid{
功能齐全的DataGrid                delete(s.ToString().Substring(
1,s.ToString().Length-1));
功能齐全的DataGrid            }

功能齐全的DataGrid        }

功能齐全的DataGrid        
#endregion

功能齐全的DataGrid
功能齐全的DataGrid功能齐全的DataGrid        
delete#region delete
功能齐全的DataGrid        
private void delete(string id)
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            SqlConnection conn
=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
功能齐全的DataGrid            
string sql=@"declare @sql nvarchar(400)
功能齐全的DataGrid                        set @sql = 'delete from testgrid where UserID in('[email protected]+')'
功能齐全的DataGrid                        exec( @sql)
";
功能齐全的DataGrid            SqlCommand comm
=new SqlCommand(sql,conn);
功能齐全的DataGrid            SqlParameter parm1
=new SqlParameter("@UserID",SqlDbType.VarChar,200);
功能齐全的DataGrid            parm1.Value
=id;
功能齐全的DataGrid            comm.Parameters.Add(parm1);
功能齐全的DataGrid            conn.Open();
功能齐全的DataGrid            comm.ExecuteNonQuery();
功能齐全的DataGrid            conn.Close();
功能齐全的DataGrid            DataBind();
功能齐全的DataGrid        }

功能齐全的DataGrid        
#endregion

功能齐全的DataGrid
功能齐全的DataGrid功能齐全的DataGrid        
ListProvince#region ListProvince
功能齐全的DataGrid        
private void ListProvince()
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            
string sql="select * from province";
功能齐全的DataGrid            DataSet ds
=GetDataSet(sql);
功能齐全的DataGrid            DropDownList1.DataSource
=ds;
功能齐全的DataGrid            DropDownList1.DataTextField
="province";
功能齐全的DataGrid            DropDownList1.DataValueField
="provinceID";
功能齐全的DataGrid            DropDownList1.DataBind();
功能齐全的DataGrid        }

功能齐全的DataGrid        
#endregion

功能齐全的DataGrid
功能齐全的DataGrid功能齐全的DataGrid        
ListCity#region ListCity
功能齐全的DataGrid        
private void ListCity()
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            
if(DropDownList1.SelectedIndex!=-1)
功能齐全的DataGrid功能齐全的DataGrid            
功能齐全的DataGrid{
功能齐全的DataGrid                
string sql="select * from city where father='"+DropDownList1.SelectedValue+"'";
功能齐全的DataGrid                DataSet ds
=GetDataSet(sql);
功能齐全的DataGrid                DropDownList2.DataSource
=ds;
功能齐全的DataGrid                DropDownList2.DataTextField
="city";
功能齐全的DataGrid                DropDownList2.DataValueField
="cityID";
功能齐全的DataGrid                DropDownList2.DataBind();
功能齐全的DataGrid            }

功能齐全的DataGrid        }

功能齐全的DataGrid        
#endregion

功能齐全的DataGrid
功能齐全的DataGrid功能齐全的DataGrid        
ListArea#region ListArea
功能齐全的DataGrid        
private void ListArea()
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            
if(DropDownList2.SelectedIndex!=-1)
功能齐全的DataGrid功能齐全的DataGrid            
功能齐全的DataGrid{
功能齐全的DataGrid                
string sql="select * from area where father='"+DropDownList2.SelectedValue+"'";
功能齐全的DataGrid                DataSet ds
=GetDataSet(sql);            
功能齐全的DataGrid                DropDownList3.DataSource
=ds;
功能齐全的DataGrid                DropDownList3.DataTextField
="area";
功能齐全的DataGrid                DropDownList3.DataValueField
="areaID";
功能齐全的DataGrid                DropDownList3.DataBind();
功能齐全的DataGrid            }

功能齐全的DataGrid        }

功能齐全的DataGrid        
#endregion

功能齐全的DataGrid
功能齐全的DataGrid功能齐全的DataGrid        
save#region save
功能齐全的DataGrid        
private void Button1_Click(object sender, System.EventArgs e)
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            SqlConnection conn
=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
功能齐全的DataGrid            SqlCommand comm
=new SqlCommand("insert into testgrid (UserName,provinceID,cityID,areaID,Enabled) values(@UserName,@provinceID,@cityID,@areaID,@Enabled)",conn);
功能齐全的DataGrid            SqlParameter parm1
=new SqlParameter("@UserName",SqlDbType.NVarChar,50);
功能齐全的DataGrid            parm1.Value
=this.TextBox1.Text;
功能齐全的DataGrid
功能齐全的DataGrid            SqlParameter parm2
=new SqlParameter("@provinceID",SqlDbType.NVarChar,50);
功能齐全的DataGrid            parm2.Value
=this.DropDownList1.SelectedValue;
功能齐全的DataGrid
功能齐全的DataGrid            SqlParameter parm3
=new SqlParameter("@cityID",SqlDbType.NVarChar,50);
功能齐全的DataGrid            parm3.Value
=this.DropDownList2.SelectedValue;    
功能齐全的DataGrid            
功能齐全的DataGrid            SqlParameter parm4
=new SqlParameter("@areaID",SqlDbType.NVarChar,50);
功能齐全的DataGrid            parm4.Value
=this.DropDownList3.SelectedValue;
功能齐全的DataGrid
功能齐全的DataGrid            SqlParameter parm5
=new SqlParameter("@Enabled",SqlDbType.Bit);
功能齐全的DataGrid            parm5.Value
=this.CheckBox1.Checked;
功能齐全的DataGrid
功能齐全的DataGrid            comm.Parameters.Add(parm1);
功能齐全的DataGrid            comm.Parameters.Add(parm2);
功能齐全的DataGrid            comm.Parameters.Add(parm3);
功能齐全的DataGrid            comm.Parameters.Add(parm4);
功能齐全的DataGrid            comm.Parameters.Add(parm5);
功能齐全的DataGrid            conn.Open();
功能齐全的DataGrid            comm.ExecuteNonQuery();
功能齐全的DataGrid            conn.Close();
功能齐全的DataGrid            DataBind();
功能齐全的DataGrid        }

功能齐全的DataGrid        
#endregion

功能齐全的DataGrid
功能齐全的DataGrid        
private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            ListCity();
功能齐全的DataGrid        }

功能齐全的DataGrid
功能齐全的DataGrid        
private void DropDownList2_SelectedIndexChanged(object sender, System.EventArgs e)
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            ListArea();
功能齐全的DataGrid        }

功能齐全的DataGrid
功能齐全的DataGrid        
private void Button2_Click(object sender, System.EventArgs e)
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            ToExcel(
this.DataGrid1,"meng");
功能齐全的DataGrid        }

功能齐全的DataGrid
功能齐全的DataGrid功能齐全的DataGrid        
ToExcel#region ToExcel
功能齐全的DataGrid        
public static void ToExcel(System.Web.UI.Control ctl,string FileName)
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            HttpContext.Current.Response.Charset 
="UTF-8";
功能齐全的DataGrid            HttpContext.Current.Response.ContentEncoding 
=System.Text.Encoding.Default;
功能齐全的DataGrid            HttpContext.Current.Response.ContentType 
="application/ms-excel";
功能齐全的DataGrid            HttpContext.Current.Response.AppendHeader(
"Content-Disposition","attachment;filename="+""+FileName+".xls");
功能齐全的DataGrid            ctl.Page.EnableViewState 
=false;
功能齐全的DataGrid            System.IO.StringWriter  tw 
= new System.IO.StringWriter();
功能齐全的DataGrid            System.Web.UI.HtmlTextWriter hw 
= new System.Web.UI.HtmlTextWriter(tw);
功能齐全的DataGrid            ctl.RenderControl(hw);
功能齐全的DataGrid            HttpContext.Current.Response.Write(tw.ToString());
功能齐全的DataGrid            HttpContext.Current.Response.End();
功能齐全的DataGrid        }
        
功能齐全的DataGrid        
#endregion

功能齐全的DataGrid        
功能齐全的DataGrid        
private void DataGrid1_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
功能齐全的DataGrid功能齐全的DataGrid        
功能齐全的DataGrid{
功能齐全的DataGrid            
this.DataGrid1.CurrentPageIndex=e.NewPageIndex;
功能齐全的DataGrid            DataBind();
功能齐全的DataGrid        }

功能齐全的DataGrid    }

3. 数据库教本(或下载真实数据 /Files/singlepine/area.rar)
功能齐全的DataGridif   exists  ( select   *   from  dbo.sysobjects  where  id  =   object_id (N ' [dbo].[TestGrid] ' and   OBJECTPROPERTY (id, N ' IsUserTable ' =   1 )
功能齐全的DataGrid
drop   table   [ dbo ] . [ TestGrid ]
功能齐全的DataGrid
GO
功能齐全的DataGrid
功能齐全的DataGrid
if   exists  ( select   *   from  dbo.sysobjects  where  id  =   object_id (N ' [dbo].[province] ' and   OBJECTPROPERTY (id, N ' IsUserTable ' =   1 )
功能齐全的DataGrid
drop   table   [ dbo ] . [ province ]
功能齐全的DataGrid
GO
功能齐全的DataGrid
功能齐全的DataGrid
if   exists  ( select   *   from  dbo.sysobjects  where  id  =   object_id (N ' [dbo].[city] ' and   OBJECTPROPERTY (id, N ' IsUserTable ' =   1 )
功能齐全的DataGrid
drop   table   [ dbo ] . [ city ]
功能齐全的DataGrid
GO
功能齐全的DataGrid
功能齐全的DataGrid
if   exists  ( select   *   from  dbo.sysobjects  where  id  =   object_id (N ' [dbo].[area] ' and   OBJECTPROPERTY (id, N ' IsUserTable ' =   1 )
功能齐全的DataGrid
drop   table   [ dbo ] . [ area ]
功能齐全的DataGrid
GO
功能齐全的DataGrid
功能齐全的DataGrid
CREATE   TABLE   [ dbo ] . [ TestGrid ]  (
功能齐全的DataGrid    
[ UserID ]   [ int ]   IDENTITY  ( 1 1 NOT   NULL  ,
功能齐全的DataGrid    
[ UserName ]   [ nvarchar ]  ( 50 ) COLLATE Chinese_PRC_CI_AS  NULL  ,
功能齐全的DataGrid    
[ provinceID ]   [ nvarchar ]  ( 50 ) COLLATE Chinese_PRC_CI_AS  NULL  ,
功能齐全的DataGrid    
[ cityID ]   [ nvarchar ]  ( 50 ) COLLATE Chinese_PRC_CI_AS  NULL  ,
功能齐全的DataGrid    
[ areaID ]   [ nvarchar ]  ( 50 ) COLLATE Chinese_PRC_CI_AS  NULL  ,
功能齐全的DataGrid    
[ Enabled ]   [ bit ]   NULL  
功能齐全的DataGrid
ON   [ PRIMARY ]
功能齐全的DataGrid
GO
功能齐全的DataGrid
功能齐全的DataGrid
CREATE   TABLE   [ dbo ] . [ province ]  (
功能齐全的DataGrid    
[ id ]   [ int ]   NOT   NULL  ,
功能齐全的DataGrid    
[ provinceID ]   [ nvarchar ]  ( 6 ) COLLATE Chinese_PRC_CI_AS  NULL  ,
功能齐全的DataGrid    
[ province ]   [ nvarchar ]  ( 40 ) COLLATE Chinese_PRC_CI_AS  NULL  
功能齐全的DataGrid
ON   [ PRIMARY ]
功能齐全的DataGrid
GO
功能齐全的DataGrid
功能齐全的DataGrid
CREATE   TABLE   [ dbo ] . [ city ]  (
功能齐全的DataGrid    
[ id ]   [ int ]   NOT   NULL  ,
功能齐全的DataGrid    
[ cityID ]   [ nvarchar ]  ( 6 ) COLLATE Chinese_PRC_CI_AS  NULL  ,
功能齐全的DataGrid    
[ city ]   [ nvarchar ]  ( 50 ) COLLATE Chinese_PRC_CI_AS  NULL  ,
功能齐全的DataGrid    
[ father ]   [ nvarchar ]  ( 6 ) COLLATE Chinese_PRC_CI_AS  NULL  
功能齐全的DataGrid
ON   [ PRIMARY ]
功能齐全的DataGrid
GO
功能齐全的DataGrid
功能齐全的DataGrid
CREATE   TABLE   [ dbo ] . [ area ]  (
功能齐全的DataGrid    
[ id ]   [ int ]   NOT   NULL  ,
功能齐全的DataGrid    
[ areaID ]   [ nvarchar ]  ( 50 ) COLLATE Chinese_PRC_CI_AS  NULL  ,
功能齐全的DataGrid    
[ area ]   [ nvarchar ]  ( 60 ) COLLATE Chinese_PRC_CI_AS  NULL  ,
功能齐全的DataGrid    
[ father ]   [ nvarchar ]  ( 6 ) COLLATE Chinese_PRC_CI_AS  NULL  
功能齐全的DataGrid
ON   [ PRIMARY ]
功能齐全的DataGrid
GO
4.源代码下载 /Files/singlepine/datagrid.rar