(DevExpress2011控件教程)ASPxGridView 范例4 :ASPxGridView 行选择、多表头设计、数据导出、主表细表等功能实现...

5、 行选择

Enable Selected属性设置打钩 AspxGridView 行前面多了一个选择列.拖4个按钮在页面上,并为每个按钮设置事件

全选


< dx:ASPxButton  ID ="ASPxBtnSelectAll"  runat ="server"  Text ="全选"

                    AutoPostBack
="False"  UseSubmitBehavior ="False" >

                    
< ClientSideEvents  Click ="function(s, e) {

         AspxGridView.SelectRows();

}"
  />

                
</ dx:ASPxButton >

全部不选择


< dx:ASPxButton  ID ="ASPxBtnUnSelectAll"  runat ="server"  Text ="全不选"

                    AutoPostBack
="False"  UseSubmitBehavior ="False" >

                    
< ClientSideEvents  Click ="function(s, e) {

         AspxGridView.UnselectRows();

}"
  />

                
</ dx:ASPxButton >

 

本页全选


< dx:ASPxButton  ID ="ASPxButton1"  runat ="server"  AutoPostBack ="False"  Text ="本页全选"

                    UseSubmitBehavior
="False" >

                    
< ClientSideEvents  Click ="function(s, e) {

         AspxGridView.SelectAllRowsOnPage()

}"
  />

                
</ dx:ASPxButton >

 本页全不选

< dx:ASPxButton  ID ="ASPxButton2"  runat ="server"  AutoPostBack ="False"

                    Text
="本页全不选"  UseSubmitBehavior ="False" >

                    
< ClientSideEvents  Click ="function(s, e) {

         AspxGridView.UnselectAllRowsOnPage()

}"
  />

                
</ dx:ASPxButton >
获取所选择行的值
List < object >  keyValues  =  ASPxGridView1.GetSelectedFieldValues( " ID " );

    StringBuilder sb 
=   new  StringBuilder(keyValues[ 0 ].ToString());

    
foreach  ( object  key  in  keyValues) {

        
string  ID  =   new  Parameter( " ID " , TypeCode.Int32,key.ToString());

}

 

6、 多表头设计

对于国内很多公司而言,一般都需要一个多表头的表格。

必须要把虚拟的列设置为一种特别的列类型-GridViewBankColumn. 联合列是一个不同类型的列,它只表述而不直接表述数据的值,但是包括其他子列的集合。

6.1 新建一个Bank列,并将Caption设置表头

6.2 将需要合并的列拖入 bank 列里。

 

运行效果

 

 

7、 Grid Rows

7.1 交替色

为了增加可读行,你可以加亮不同行不同的样式。首先设置 Styles.AlternatiingRow.Enabled 属性为true. 同时设置styles.AlternatingRowBackColor等其他属性。

7.2 网格行的网络线设置

   ASPxGridView Settings ->GridLines =Both

7.3 焦点行

 默认情况下,焦点行的特性是取消的。 为了启用它,应该将 SettingsBehavior.AllowFocusedRow 设置为True 

8、 数据分页和滚动

8.1ASpxGridView允许横或者竖的滚动条在小的网格控件展示数据

 

默认的情况下,网格的高度是定义每页多少条记录,控制于SettingsPager.PageSize属性

Settings->ShowVertivalScrollBar 属性为true verticalScrollbaleHeight 设置它的高度

Settings->ShowHorizontalScrllBar 属性为true

 

8.2 冻结列

列属性中选择 FixedStyle =left

9、 数据导出

9.1  全部导出

protected   void  btnPdfExport_Click( object  sender, EventArgs e) {
        gridExport.WritePdfToResponse();
    }
    
protected   void  btnXlsExport_Click( object  sender, EventArgs e) {
        gridExport.WriteXlsToResponse();
    }
    
protected   void  btnXlsxExport_Click( object  sender, EventArgs e) {
        gridExport.WriteXlsxToResponse();
    }
    
protected   void  btnRtfExport_Click( object  sender, EventArgs e) {
        gridExport.WriteRtfToResponse();
    }
    
protected   void  btnCsvExport_Click( object  sender, EventArgs e) {
        gridExport.WriteCsvToResponse();
    }

 

部分导出

ASPxGridViewExporter’s ExportedRowType 属性设置为Selected

4、 ASPxGridView支持复杂的主表细表结构

10.1 创建2ASPxGridView控件。

     绑定第一个AspxGridView控件,设置SettingsDetail.ShowDetailRow true.   编辑模板 选择DetailRow ,然后将第二个AspxGridView拖入模板内。见下图:

 

 

 

在页面源里ASPxGridView2添加OnBeforePerformDataSelect事件


< dx:ASPxGridView  ID ="ASPxGridView2"  runat ="server"  AutoGenerateColumns ="False"
   DataSourceID
="SqlDataSource2"  KeyFieldName ="OID"  OnBeforePerformDataSelect  ="detailGrid_DataSelect"   >

 

Cs代码里填上


protected   void  detailGrid_DataSelect( object  sender, EventArgs e)

{
   Session[
" OID " =  (sender  as  ASPxGridView).GetMasterRowKeyValue();

 }

 sqldatasource2中设置为

< asp:SqlDataSource  ID ="SqlDataSource2"  runat ="server"
        ConnectionString ="<%$ ConnectionStrings:Connection String %>"
        SelectCommand
="SELECT * FROM [com_Dpt1] WHERE OID = @OID" >
        
< SelectParameters >
  
< asp:SessionParameter  Name ="OID"  SessionField ="OID"  Type ="Int32"   />
        
</ SelectParameters >
    
</ asp:SqlDataSource >

运行程序。。得到如下结果

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/xiaofengfeng/archive/2012/09/07/2675149.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值