正文

DataGrid&GridView(一)2007-03-24 09:04:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/mimengjiangnan/24224.html

分享到:

1 排序 前台:     <asp:DataGrid ID="dgHTMX" runat="server" Width="100%" AutoGenerateColumns="False" OnSortCommand="dgHTMX_SortCommand" >                                                        <asp:BoundColumn DataField="GG" HeaderText="规格" SortExpression="GG"></asp:BoundColumn>     </asp:DataGrid> 后台:     protected void dgHTMX_SortCommand(object source, DataGridSortCommandEventArgs e)     {         if (dgHTMX.Items.Count > 1)         {             if (ViewState["sortdirection"] == null)             {                 ViewState["sortdirection"] = "DESC";             }             else             {                 if (ViewState["sortdirection"].ToString() == "DESC")                 {                     ViewState["sortdirection"] = "ASC";                 }                 else                 {                     ViewState["sortdirection"] = "DESC";                 }             }             string s = ViewState["sortdirection"].ToString();             DataTable dt = BllBookManageView.GetCGXMMX(ddlGHCS.SelectedItem.Value, ddlXMMC.SelectedItem.Value);             DataView dv = new DataView(dt);             dv.Sort = e.SortExpression + " " + s;             dgHTMX.DataSource = dv;             dgHTMX.DataBind();         }     } 2 全选     <asp:DataGrid ID="dgHTMX" runat="server" Width="100%" AutoGenerateColumns="False" >                                                    <Columns>             <asp:TemplateColumn HeaderText="选择">                 <ItemTemplate>                     <asp:CheckBox ID="chkHTMX" runat="server" AutoPostBack="true" Text="选择" onclick="check(this)" OnCheckedChanged="Mycheck_CheckedChanged"/>                 </ItemTemplate>                 <HeaderTemplate>                     <asp:CheckBox ID="chkAll1" runat="server" AutoPostBack="false" onclick="SelectAll(this)"  Text="全选" Width="52px" />                 </HeaderTemplate>             </asp:TemplateColumn>         </Columns>     </asp:DataGrid> javascript方法: function SelectAll(tempControl) {    //将除头模板中的其它所有的CheckBox取反       var theBox=tempControl;      xState=theBox.checked;          elem=theBox.form.elements;     for(i=0;i<elem.length;i++)     if(elem[i].type=="checkbox" && elem[i].id!=theBox.id)      {           if(elem[i].checked!=xState)                 elem[i].click();     }   } 3 后台响应Grid中CheckBox的OnCheckedChanged事件: 前台:     <asp:DataGrid ID="dgHTMX" runat="server" Width="100%" AutoGenerateColumns="False" >                                                    <Columns>             <asp:TemplateColumn HeaderText="选择">                 <ItemTemplate>                     <asp:CheckBox ID="chkHTMX" runat="server" AutoPostBack="true" Text="选择" OnCheckedChanged="Mycheck_CheckedChanged"/>                 </ItemTemplate>                 <HeaderTemplate>                     <asp:CheckBox ID="chkAll1" runat="server" AutoPostBack="false"  Text="全选" Width="52px" />                 </HeaderTemplate>             </asp:TemplateColumn>         </Columns>     </asp:DataGrid> 后台:     protected void Mycheck_CheckedChanged(object sender, System.EventArgs e)     {          。。。     } 4 固定表头和滚动 前台: javascript方法:   function s() {      var t = document.getElementById("<%=dgHTMX.ClientID%>");      var t2 = t.cloneNode(true)      for(i = t2.rows.length -1;i > 0;i--)      t2.deleteRow(i)       t.deleteRow(0)       a.appendChild(t2) } window.onload = s        <div id="a">   </div>     <div style=" overflow:auto; overflow-x:hidden; overflow-y:scroll; width:100%; height:320px;">     <asp:DataGrid ID="dgHTMX" runat="server" Width="100%" AutoGenerateColumns="False" OnSortCommand="dgHTMX_SortCommand" >      </asp:DataGrid> </div> (只出现垂直方向的滚动条,要想两个方向都有滚动条: overflow-x: scroll; overflow-y:scroll;) 在后台的绑定Grid方法里的             dgHTMX.DataSource = dt;             dgHTMX.DataBind(); 代码前面加上: dgHTMX.Attributes.Add("style", "table-layout:fixed"); 即: dgHTMX.Attributes.Add("style", "table-layout:fixed");             dgHTMX.DataSource = dt;             dgHTMX.DataBind(); 还可以根据实际需要设置每列的宽度 HeaderStyle-Width=10% ItemStyle-Width=10% 这两个属性必须同时设置并且要大小相同

阅读(3779) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册