CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

Grid排序的问题, 急!!!!!

楼主chiaotian(池傲天)2005-11-11 09:47:57 在 .NET技术 / C# 提问

Grid排序的问题,    
  点击表头排序,   全部分逢上 问题点数:50、回复次数:6Top

1 楼abandonship(焚酒煮剑)回复于 2005-11-11 09:50:01 得分 0

1.html代码  
  <HTML>  
      <HEAD>  
                  <title>DatagridTest</title>  
                  <meta   content="Microsoft   Visual   Studio   .NET   7.1"   name="GENERATOR">  
                  <meta   content="C#"   name="CODE_LANGUAGE">  
                  <meta   content="JavaScript"   name="vs_defaultClientScript">  
                  <meta   content="http://schemas.microsoft.com/intellisense/ie5"   name="vs_targetSchema">  
                  <script   language="javascript">  
                          function   fun_option(obj)  
                          {  
                                  document.Form1.hiduserid.value=obj.value;  
                                  alert(obj.value);  
                          }                          
                          function   chkAll_true()  
                          {  
                                  var   chkall=   document.all["chkAll"];  
                                  var   chkother=   document.all["chkExport"];                  
                                  if(chkother.length>0)  
                                  {  
                                          for   (var   i=0;i<chkother.length;i++)  
                                          {  
                                                  if(chkall.checked==true)  
                                                  {  
                                                          chkother[i].checked=true;  
                                                  }  
                                                  else  
                                                  {  
                                                          chkother[i].checked=false;  
                                                  }                                  
                                          }  
                                  }                                  
                          }          
                  </script>  
  </HEAD>  
          <body>  
                  <form   id="Form1"   method="post"   runat="server">  
                          <TABLE   id="Table1"   height="100%"   cellSpacing="1"   cellPadding="1"   width="100%"   border="1">  
                                  <tr   height="30">  
                                          <td><INPUT   id="chkAll"   onclick="chkAll_true()"   type="checkbox">全选/取消</td>  
                                  </tr>  
                                  <TR   vAlign="top">  
                                          <TD   width="100%"><asp:datagrid   id="DataGrid1"   runat="server"   ForeColor="Black"   GridLines="None"   CellPadding="2"  
                                                          BackColor="LightGoldenrodYellow"   BorderWidth="1px"   BorderColor="Tan"   AllowSorting="True"   AutoGenerateColumns="False"  
                                                          DataKeyField="UserID"   OnUpdateCommand="Update"   OnCancelCommand="Cancel"   OnEditCommand="Edit">  
                                                          <FooterStyle   BackColor="Tan"></FooterStyle>  
                                                          <SelectedItemStyle   ForeColor="GhostWhite"   BackColor="DarkSlateBlue"></SelectedItemStyle>  
                                                          <AlternatingItemStyle   BackColor="PaleGoldenrod"></AlternatingItemStyle>  
                                                          <HeaderStyle   Font-Bold="True"   BackColor="Tan"></HeaderStyle>  
                                                          <Columns>  
                                                                  <asp:TemplateColumn   HeaderText="No">  
                                                                          <ItemTemplate>  
                                                                                  <INPUT   id="radio"   type="radio"   name="radio"   onclick="fun_option(this)"   value='<%#   DataBinder.Eval(Container.DataItem,"UserID")   %>'>  
                                                                          </ItemTemplate>  
                                                                  </asp:TemplateColumn>  
                                                                  <asp:TemplateColumn   HeaderText="No"></asp:TemplateColumn>  
                                                                  <asp:TemplateColumn>  
                                                                          <HeaderTemplate>  
                                                                          </HeaderTemplate>  
                                                                          <ItemTemplate>  
                                                                                  <INPUT   id="chkExport"   type="checkbox">  
                                                                          </ItemTemplate>  
                                                                  </asp:TemplateColumn>  
                                                                  <asp:BoundColumn   DataField="UserID"   SortExpression="UserID"   HeaderText="UserID"></asp:BoundColumn>  
                                                                  <asp:TemplateColumn   HeaderText="姓名"   SortExpression="UserName">  
                                                                          <ItemTemplate>  
                                                                                  <%#   DataBinder.Eval(Container.DataItem,"UserName")   %>  
                                                                          </ItemTemplate>  
                                                                          <EditItemTemplate>  
                                                                                  <asp:TextBox   id="UserName"   Runat="server"   Text='<%#   DataBinder.Eval(Container.DataItem,"UserName")   %>'   Width="88px">  
                                                                                  </asp:TextBox>  
                                                                          </EditItemTemplate>  
                                                                  </asp:TemplateColumn>  
                                                                  <asp:TemplateColumn   HeaderText="省市"   SortExpression="province">  
                                                                          <ItemTemplate>  
                                                                                  <%#   DataBinder.Eval(Container.DataItem,"province")   %>  
                                                                          </ItemTemplate>  
                                                                          <EditItemTemplate>  
                                                                                  <asp:DropDownList   ID="province"   Runat="server"   OnSelectedIndexChanged="ddlpovince_SelectedIndexChanged"    
    AutoPostBack="True"></asp:DropDownList>  
                                                                          </EditItemTemplate>  
                                                                  </asp:TemplateColumn>  
                                                                  <asp:TemplateColumn   HeaderText="县市"   SortExpression="city">  
                                                                          <ItemTemplate>  
                                                                                  <%#   DataBinder.Eval(Container.DataItem,"city")   %>  
                                                                          </ItemTemplate>  
                                                                          <EditItemTemplate>  
                                                                                  <asp:DropDownList   ID="city"   Runat="server"></asp:DropDownList>  
                                                                          </EditItemTemplate>  
                                                                  </asp:TemplateColumn>  
                                                                  <asp:TemplateColumn   HeaderText="可见否"   SortExpression="Enabled">  
                                                                          <ItemTemplate>  
                                                                                  <%#   DataBinder.Eval(Container.DataItem,"Enabled")   %>  
                                                                          </ItemTemplate>  
                                                                          <EditItemTemplate>  
                                                                                  <asp:CheckBox   ID="chkenabled"   Runat="server"   Checked='<%#   DataBinder.Eval(Container.DataItem,"Enabled")   %>'>  
                                                                                  </asp:CheckBox>  
                                                                          </EditItemTemplate>  
                                                                  </asp:TemplateColumn>  
                                                                  <asp:EditCommandColumn   ButtonType="PushButton"   UpdateText="更新"   CancelText="取消"   EditText="编辑"></asp:EditCommandColumn>  
                                                          </Columns>  
                                                          <PagerStyle   HorizontalAlign="Center"   ForeColor="DarkSlateBlue"   BackColor="PaleGoldenrod"></PagerStyle>  
                                                  </asp:datagrid></TD>  
                                  </TR>  
                                  <tr   height="30">  
                                          <td></td>  
                                  </tr>  
                          </TABLE>  
                          <INPUT   id="hiduserid"   type="hidden"   runat="server">  
                  </form>  
          </body>  
  </HTML>Top

2 楼abandonship(焚酒煮剑)回复于 2005-11-11 09:50:50 得分 0

private   void   Page_Load(object   sender,   System.EventArgs   e)  
                  {  
                          if(!Page.IsPostBack)  
                          {  
                                  SortExpression="";  
                                  sort="desc";  
                                  DataBind();  
                          }                          
                  }  
   
   
                  DataBind#region   DataBind  
                  private   void   DataBind()  
                  {  
                          string   sql="select   a.UserID,a.UserName,b.province,c.city,a.Enabled,b.provinceID,c.cityID   from   testgrid   a   ";  
                          sql+="   left   join   povince   b   on   a.Country=b.provinceID";  
                          sql+="   left   join   city   c   on   a.State=c.cityID";  
                          DataSet   ds=GetDataSet(sql);  
                          dt=ds.Tables[0];  
                          this.DataGrid1.DataSource=dt;  
                          this.DataGrid1.DataBind();  
                  }  
                  #endregion  
   
                  Web   Form   Designer   generated   code#region   Web   Form   Designer   generated   code  
                  override   protected   void   OnInit(EventArgs   e)  
                  {  
                          //  
                          //   CODEGEN:   This   call   is   required   by   the   ASP.NET   Web   Form   Designer.  
                          //  
                          InitializeComponent();  
                          base.OnInit(e);  
                          this.DataGrid1.ItemDataBound+=new   DataGridItemEventHandler(DataGrid1_ItemDataBound);  
                          this.DataGrid1.SortCommand+=new   DataGridSortCommandEventHandler(DataGrid1_SortCommand);  
                          this.DataGrid1.ItemCreated+=new   DataGridItemEventHandler(DataGrid1_ItemCreated);  
                  }  
                   
                  /**////   <summary>  
                  ///   Required   method   for   Designer   support   -   do   not   modify  
                  ///   the   contents   of   this   method   with   the   code   editor.  
                  ///   </summary>  
                  private   void   InitializeComponent()  
                  {          
                          this.Load   +=   new   System.EventHandler(this.Page_Load);                          
                  }  
                  #endregionTop

3 楼abandonship(焚酒煮剑)回复于 2005-11-11 09:51:08 得分 0

GetDataSet#region   GetDataSet  
                  private   DataSet   GetDataSet(string   sql)  
                  {  
                          constring=System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];  
                          SqlDataAdapter         sda   =new   SqlDataAdapter(sql,constring);  
                          DataSet   ds=new   DataSet();  
                          sda.Fill(ds);  
                          return   ds;  
                  }  
                  #endregion  
                   
                  DataGrid1_ItemDataBound#region   DataGrid1_ItemDataBound  
                  private   void   DataGrid1_ItemDataBound(object   sender,   DataGridItemEventArgs   e)  
                  {  
                          if   (e.Item.ItemType   ==   ListItemType.Item   ||   e.Item.ItemType   ==   ListItemType.AlternatingItem)  
                          {  
                                  e.Item.Attributes.Add("ondblclick","alert('"+e.Item.Cells[0].Text+"');");  
                          }  
                          if   (e.Item.ItemType!=ListItemType.Header)  
                            {                                  
                                  e.Item.Attributes.Add(   "onmouseout","this.style.backgroundColor=\""+e.Item.Style["BACKGROUND-COLOR"]+"\"");  
                             e.Item.Attributes.Add(   "onmouseover","this.style.backgroundColor=\""+   "#C1D2EE"+"\"");  
                                  e.Item.Cells[1].Text=Convert.ToString(e.Item.ItemIndex+1);//产生序号  
                            }  
                          if   (e.Item.ItemType==ListItemType.Header)  
                            {                                  
                                  e.Item.Cells[0].ColumnSpan=2;//合并单元格  
                                  e.Item.Cells[1].Visible=false;  
                            }  
                          string   sqlpovince="select   *   from   povince";  
                          DataSet   dspovince=GetDataSet(sqlpovince);  
                          if(e.Item.ItemType==ListItemType.EditItem)  
                          {  
                                  DropDownList   ddlpovince=(DropDownList)e.Item.FindControl("province");  
                                  ddlpovince.DataSource=dspovince;  
                                  ddlpovince.DataTextField="province";  
                                  ddlpovince.DataValueField="provinceID";  
                                  ddlpovince.DataBind();  
                                  ddlpovince.Items.FindByValue(Convert.ToString(DataBinder.Eval(e.Item.DataItem,"provinceID"))).Selected=true;  
                                  if(e.Item.ItemType==ListItemType.EditItem)  
                                  {  
                                          if(ddlpovince.SelectedIndex!=-1)  
                                          {  
                                                  string   sqlcity="select   *   from   city   where   father='"+ddlpovince.SelectedValue+"'";  
                                                  DropDownList   ddlcity=(DropDownList)e.Item.FindControl("city");  
                                                  DataSet   dscity=GetDataSet(sqlcity);                                  
                                                  ddlcity.DataSource=dscity;  
                                                  ddlcity.DataTextField="city";  
                                                  ddlcity.DataValueField="cityID";  
                                                  ddlcity.DataBind();  
                                                  ddlcity.Items.FindByValue(Convert.ToString(DataBinder.Eval(e.Item.DataItem,"cityID"))).Selected=true;  
                                          }  
                                  }  
                          }                                  
                  }  
   
                  #endregionTop

4 楼q_po_o(两个人)回复于 2005-11-11 09:59:40 得分 0

真全,呵呵Top

5 楼abandonship(焚酒煮剑)回复于 2005-11-11 10:00:21 得分 50

http://blog.csdn.net/abandonship/archive/2005/11.aspxTop

6 楼min_jie(止戈)回复于 2006-01-13 16:10:26 得分 0

markTop

相关问题

  • Grid按列排序
  • Grid排序的问题
  • 急!!!如何排序?
  • 数组排序----急
  • java中的排序?急
  • 急救,排序问题...
  • 急!!多列排序算法!
  • listview的排序!如何让他排序?急!急!!急!!!
  • 急!急!急!关于excel 排序!!!
  • 排序,排序

关键词

得分解答快速导航

  • 帖主:chiaotian
  • abandonship

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo