博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(DevExpress2011控件教程)ASPxGridView 范例4 :ASPxGridView 行选择、多表头设计、数据导出、主表细表等功能实现...
阅读量:4654 次
发布时间:2019-06-09

本文共 3441 字,大约阅读时间需要 11 分钟。

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

你可能感兴趣的文章
网络流24题-飞行员配对方案问题
查看>>
Jenkins 2.16.3默认没有Launch agent via Java Web Start,如何配置使用
查看>>
引入css的四种方式
查看>>
iOS开发UI篇—transframe属性(形变)
查看>>
3月7日 ArrayList集合
查看>>
jsp 环境配置记录
查看>>
Python03
查看>>
LOJ 2537 「PKUWC2018」Minimax
查看>>
使用java中replaceAll方法替换字符串中的反斜杠
查看>>
Some configure
查看>>
流量调整和限流技术 【转载】
查看>>
1 线性空间
查看>>
VS不显示最近打开的项目
查看>>
DP(动态规划)
查看>>
chkconfig
查看>>
2.抽取代码(BaseActivity)
查看>>
夏天过去了, 姥爷推荐几套来自smashingmagzine的超棒秋天主题壁纸
查看>>
反射的所有api
查看>>
css 定位及遮罩层小技巧
查看>>
[2017.02.23] Java8 函数式编程
查看>>