流程平台:子表控件(一)- 基本概述和设置

本文讲的是子表控件的基本用法。

子表控件SheetSubTable,修改后的子表控件 SheetSubTableSZ,DataField属性绑定子表数据项名称

<SheetControls:SheetSubTableSZ ID="SheetSubTable1" Width="91.5%" runat="server" DataField="ZServerApply"/>
//绑定事件后的子表控件
<SheetControls:SheetSubTableSZ ID="SubTable"  Width="91.5%" runat="server" DataField="ZServerApply"
        oneditorinitializing="SubTable_EditorInitializing" 
        oneditorloading="SubTable_EditorLoading" 
        oneditorsaving="SubTable_EditorSaving"  
        onrowdatabound="SubTable_RowDataBound" />

还有RowCommand,RowDataBound事件,这两个事件既是子表控件中表格的事件,子表控件中的表格引用为 SubTable.ItemView,类型为GridView。

 

子表控件事件(子表控件名为SubTable时):

//子表控件字段翻译、显示、备注、排序设置
protected override void OnPreInit(EventArgs e)

 

//子表控件初始化事件,事件优先级高于LoadDataFields,Page_Load
protected void SubTable_EditorInitializing(object sender, OThinker.H3.WorkSheet.SheetSubTableSZ.EditorInitializingEventArgs e)
//子表控件加载数据事件
protected void SubTable_EditorLoading(object sender, OThinker.H3.WorkSheet.SheetSubTableSZ.EditorLoadingEventArgs e)
//子表控件数据保存事件
protected void SubTablePersons_EditorSaving(object sender, OThinker.H3.WorkSheet.SheetSubTableSZ.EditorSavingEventArgs e)
//子表控件的GridView控件数据绑定事件,可用于单元格数据的翻译显示
protected void SubTable_RowDataBound(object sender, GridViewRowEventArgs e)

 

子表控件在进行操作时,主要要实现的功能有:

1、子表字段的显示;2、子表字段的翻译;3、子表字段的数据排序设置;4、子表字段的样式设置;5、子表的GridView样式设置;6、子表的GridView表格单元格内容翻译;

 

1、子表字段的显示

  比如子表字段需要显示或隐藏时,在OnPreInit事件使用 SubTable.SetColumnVisiable(string columnName, bool EditVisible, bool GridCellVisible)

  columnName为子表字段名,区分大小写;EditVisible为在子表编辑区域是否显示该字段;GridCellVisible为在子表的表格区域是否显示该字段。

2、子表字段的翻译

  比如子表字段是英文的,需要翻译成中文显示,在OnPreInit事件使用 SubTable.SetColumnDisplayNameDesc(string columnName, string displayName, string description)

  columnName为子表字段名,区分大小写;displayName为在子表编辑区域该字段的标签显示名称;description为在子表的表格区域该字段的控件右侧的标签显示名称,也可以称为字段描述备注。

3、子表字段的数据排序设置

  比如对子表的表格内数据按字段进行一定的排序,在OnPreInit事件使用 SubTable.SetSortColumn(string columnName, SheetSubTableSZ.SortType sortType)

  columnName为子表字段名,区分大小写;sortType为排序类型,按 ctrl+j 可以获取该枚举。若需要多个字段排序时,可以再添加一行该代码,设置不同的字段和排序类型。

4、子表字段的样式设置

  比如对子表字段对应的编辑区域、表格区域做一些样式设置,在OnPreInit事件使用 SubTable.SetColumnCss(string columnName, string label_style, string control_style, string desc_style)

  columnName为子表字段名,区分大小写;label_style为字段左侧标签的样式;control_style为字段控件的样式;desc_style为字段右侧描述标签的样式。支持直接写样式表达式,或样式名称。

  如 "text-align:right;font-size:14px;",".dataTitle"。

5、子表的GridView样式设置

  比如对子表表格样式设置,在OnPreInit事件使用 SubTable.ItemView.HeaderStyle/SubTable.ItemView.RowStyle/SubTable.ItemView.FooterStyle,具体样式设置可以参考微软GridView标准控件的样式设置。

6、子表的GridView表格单元格内容翻译

  比如子表某字段是用数字来代表枚举保存在子表数据库中的,比如“0-停用,1-启用,2-暂停”等,在子表 SubTable_RowDataBound 事件中,编写代码如:

if (e.Row.RowType==DataControlRowType.DataRow)
{
    //State状态字段的翻译
    int i_index = SubTable.GetColumnIndex("State");
                    if (i_index > -1)
                    {
                        string celltext = e.Row.Cells[i_index].Text;
                        switch (celltext)
                        {
                            case "0":
                                e.Row.Cells[i_index].Text = "停用";
                                break;

                            case "1":
                                e.Row.Cells[i_index].Text = "启用";
                                break;

                            case "2":
                                e.Row.Cells[i_index].Text = "暂停";
                                break;
                        }
                    }
}

子表控件其他属性和事件方法见 “流程平台:子表控件(二) - 属性、事件、方法” 一文。

子表控件的字段控件初始化、数据加载、数据保存操作 见 “流程平台:子表控件(三) - 数据操作” 一文。

 

转载于:https://www.cnblogs.com/devinner/archive/2013/04/26/3044622.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值