OThinker.H3.WorkSheet.SheetPage

Enviroment

属性


名称

类型

说明

Approval

OThinker.Data.BoolMatchValue

获取或设置当前任务审核结果

Comment

string

获取或设置当前任务审核意见

DisplayName

string

获取当前表单显示名称

Enviroment

OThinker.H3.WorkSheet.SheetEnviroment

获取表单任务环境对象

InstanceNameEditor

SheetInstanceNameEditor

获取流程实例名称编辑控件

PortalRoot

string

获取Portal根目录路径

PriorityType

OThinker.H3.Instance.PriorityType

获取或设置当前流程实例紧急程度



方法

名称

参数

说明

CancelInstance


在表单取消流程实例时事件

CancelWorkItem


在表单取消工作任务时事件

GetItemEditable

string ItemName

获取指定数据项在当前任务是否可编辑

GetItemRequired

string ItemName

获取指定数据项在当前任务是否必填

GetItemTrackVisible

string ItemName

获取指定数据项在当前任务是可查看痕迹

GetItemVisible

string ItemName

获取指定数据项在当前任务是可见

GetItemValue

string ItemName, ref object Value

获取指定数据项的值

GetOptionalRecipients

SelectRecipientType SelectRecipientType

设置当前任务协助/征询/传阅的可选人范围

IsActivitySelectable

string ActivityName

当活动节点是手工选择时,设置某个活动节点是否允许被选择

LoadDataFields


表单加载数据项的值

OnOriginatingInstance

object Sender, OriginateInstanceEventArgs Args

流程被发起时触发事件

OnSubmit

SheetSubmitEventArgs Args

流程提交时触发事件

SaveDataFields

SheetSubmitEventArgs Args

流程保存/提交时触发,将表单上的值保存到数据项中

SetItemValue

string ItemName, object Value

设置数据项的值

ValidateAuthorization


权限验证方法,设置当前用户是否有权限打开表单

ValidateDataFields

SheetSubmitEventArgs Args, List<string> Errors

数据项验证方法,设置数据项在后台验证是否通过



示例:

ASPX

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SheetControl.aspx.cs" Inherits="OThinker.H3.Portal.Sheets.SheetControl"

    EnableEventValidation="false" %>


<%@ Register Assembly="OThinker.H3.WorkSheet" Namespace="OThinker.H3.WorkSheet" TagPrefix="SheetControls" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head id="Head1" runat="server">

    <title>表单控件</title>

    <script language="javascript" type="text/javascript" src="<%=ResolveUrl("~/WFRes/Scripts/JQuery.js")%>"></script>

    <script language="javascript" type="text/javascript" src="<%=ResolveUrl("~/WFRes/Scripts/Validation.js")%>"></script>

    <script type="text/javascript" src="<%=this.Enviroment.PortalFCKEditorRoot %>/fckeditor.js"></script>

    <script type="text/javascript" src="<%=this.Enviroment.PortalScriptRoot %>/SheetCommon.js"></script>

    <script type="text/javascript" src="<%=this.Enviroment.PortalScriptRoot %>/xmlHttp.js"></script>

    <script language="javascript" type="text/javascript">

        pageInfo.LockImage = "<%=ResolveUrl("~/WFRes/Images/WaitProcess.gif")%>";


        // 页面对象

        var pageObject = {

            controls:{

                txtInstanceName : null,

                hidSavePdf : null,

                hidPdfFileID : null

            }

        }


        $(function(){

            pageObject.controls.txtInstanceName = $("#<%=txtInstanceName.ClientID %>");

            pageObject.controls.hidSavePdf = $("#<%=hidSavePdf.ClientID %>");

            pageObject.controls.hidPdfFileID = $("#<%=hidPdfFileID.ClientID %>");

        });


        // 保存 WORD 文档,点击确认提交后事件发生

        var saveDocument = function(){

            var fileName = pageObject.controls.txtInstanceName.length > 0 ?

                pageObject.controls.txtInstanceName.val() : "<%=this.Enviroment.InstanceData["流程名称控件"].Value %>";

            saveDoc(fileName);

            return true;

        };


        // 套用模板方法

        function TANGER_OCX_Template()

        {

            var miji,fawenzihao,biaoti,fujian,fujianliebiao,qianfariqi,zhutici,chaosongdanwei;

            var yinfariqi,wenjianyinshu,jiaodui,zhubandanwei;

            var zhusongdanwei,qianfaren,chaobaodanwei,fasongdanwei;

            var jianyao,biaoti1,banjixinxi,zhifadanwei;

            var lianxiren,lianxidianhua;

            var fawenzi,fawennian,fawenhao;

            fawenzi = "奥哲科技";

            fawennian = 2012;

            fawenhao = 1;

            biaoti = "关于加强XXXXXXX的通知";

            zhusongdanwei = "公司各部门";

            qianfaren = "张三";

            zhutici = "加强  通知";

            wenjianyinshu = 15;

            jiaodui = "王二";

            zhubandanwei = "研发部";

            yinfariqi = "2012-3-1";

            qianfariqi = "二〇一二年二月十二日";

            fawenzihao = fawenzi + "["+fawennian+"]"+fawenhao+"";


            var value = {mark:[

                     {Name:"fawenzihao",Value:fawenzihao }            // 发文字号

                     ,{Name:"fawenzi",Value:fawenzi}                  // 发文字

                     ,{Name:"fawennian",Value:fawennian}              // 发文年

                     ,{Name:"fawenhao",Value:fawenhao}                // 发文号

                     ,{Name:"fawenhao1",Value:fawenhao}               // 发文号

                     ,{Name:"miji",Value:miji}                        // 密级

                     ,{Name:"biaoti",Value:biaoti}                    // 文件标题

                     ,{Name:"fujian",Value:fujian}                    // 附件

                     ,{Name:"fujianliebiao",Value:fujianliebiao}      // 附件列表,只显示附件 2 个字

                     ,{Name:"fujianlibiao",Value:fujianliebiao}       // 附件列表,只显示附件 2 个字

                     ,{Name:"qianfariqi",Value:qianfariqi}            // 签发日期

                     ,{Name:"zhutici",Value:zhutici}                  // 主题词

                     ,{Name:"chaosongdanwei",Value:chaosongdanwei}    // 抄送单位

                     ,{Name:"fasongdanwei",Value:fasongdanwei}        // 抄报单位

                     ,{Name:"chaobaodanwei",Value:chaobaodanwei}      // 发送单位

                     ,{Name:"yinfariqi",Value:yinfariqi}              // 印发日期

                     ,{Name:"wenjianyinshu",Value:wenjianyinshu}      // 文件印数

                     ,{Name:"jiaodui",Value:jiaodui}                  // 校对

                     ,{Name:"zhubandanwei",Value:zhubandanwei}        // 主办单位

                     ,{Name:"qianfaren",Value:qianfaren}              // 签发人

                     ,{Name:"lianxiren",Value:lianxiren}              // 联系人

                     ,{Name:"lianxidianhua",Value:lianxidianhua}      // 联系电话

                     ,{Name:"zhusongjiguan",Value:zhusongdanwei}      // 主送机关

                     ,{Name:"jianyao",Value:jianyao}                  // 简要(连体文正文)

                     ,{Name:"biaoti1",Value:biaoti1}                  // 标题1(连体文文件标题)

                     ,{Name:"banjixinxi",Value:banjixinxi}            // 版记信息

                     ,{Name:"zhifadanwei",Value:zhifadanwei}          // 制发单位

            ]};

            var template = "http://localhost:8010/Portal/Sheets/ControlDemo/奥哲科技发文模板.doc";

            TANGER_OCX_DoPaiBan(template,value);

        };


        // 点击盖章执行方法,该方法会在 sheetword.js 中被调用

        function doSign()

        {

            // 调用服务器盖章方法  印章路径、发文红头ID、签发日期

            addSecSignFromURL("http://localhost:8010/Portal/Sheets/ControlDemo/测试章.esp""印章使用者", 0, 0);

        }


        // 保存PDF文档

        function saveWordToPDF()

        {

            var fileName = pageObject.controls.txtInstanceName.length > 0 ?

                pageObject.controls.txtInstanceName.val() : "<%=this.Enviroment.InstanceData["流程名称控件"].Value %>";

            // 调用 PDF 保存方法

            saveFileAsPdfToUrl(fileName,1);


            pageObject.controls.hidSavePdf.val("1");

        }


         // 查看PDF正文

        var viewDocument = function()

        {

            // 请先保存PDF文档,再进行查看正文操作

            if(pageObject.controls.hidSavePdf.val() != "1")

            {

                alert("请先套用模板、盖章、保存PDF后,再查看正文!");

                return false;

            }

            var attachmentID = pageObject.controls.hidPdfFileID.val();

            window.open("<%=this.Enviroment.PortalRoot%>/ReadAttachment.aspx?AttachmentID="+attachmentID+"&OpenMethod=1");

        }


        // 自定义客户端验证事件

        function validation(eventType){

            // eventType == 2 表示提交

            return true;

        }

    </script>

</head>

<body>

    <form id="form1" runat="server">

    <link href="<%=this.Enviroment.PortalCssRoot %>/SheetStyle.css" rel="stylesheet"

        type="text/css" />

    <div style="width100%text-aligncenter">

        <center>

            <div class="divContent">

                <div id="divTopBars">

                    <SheetControls:SheetActionPane ID="SheetActionPane1" runat="server" Dock="Top" ClientValidation="validation({EventType})"

                        AfterConfirmation="saveDocument();">

                        <SheetControls:SheetActionButton ID="btnClick" ImageSrc="" OnClick="btnClick_Click"

                            Text="后端事件按钮" />

                        <SheetControls:SheetActionButton ID="btnClient" OnClientClick="alert('前端事件');" ImageSrc=""

                            Text="前端事件按钮" />

                        <SheetControls:SheetActionButton ID="btnViewPDF" Text="查看正文" ImageSrc="gosearch.gif"

                            OnClientClick="viewDocument();" />

                    </SheetControls:SheetActionPane>

                </div>

                <div style="height33px">

                </div>

                <div id="divProcessTitle" class="processTitle">

                    <asp:Label ID="lblTitle" runat="server" Text="表单控件"></asp:Label></div>

                <table id="tbTable" class="tableStyle" border="1" cellpadding="0" cellspacing="0">

                    <tr>

                        <td width="20%">

                        </td>

                        <td width="27%">

                        </td>

                        <td width="3%">

                        </td>

                        <td width="20%">

                        </td>

                        <td width="27%">

                        </td>

                        <td width="3%">

                        </td>

                    </tr>

                    <tr>

                        <th colspan="6">

                            基本信息

                        </th>

                    </tr>

                    <tr>

                        <td class="tdTitle">

                            发起人

                        </td>

                        <td class="tdData" colspan="2">

                            <SheetControls:SheetLabel ID="lblOriginator1" runat="server" DataField="Originator.FullName" />

                        </td>

                        <td class="tdTitle">

                            发起时间

                        </td>

                        <td class="tdData" colspan="2">

                            <SheetControls:SheetLabel ID="lblOriginateFullTime1" runat="server" DataField="OriginateFullTime" />

                        </td>

                    </tr>

                    <tr>

                        <td class="tdTitle">

                            所属组织

                        </td>

                        <td class="tdData" colspan="2">

                            <SheetControls:SheetLabel ID="Department" runat="server" DataField="Originator.OUName"></SheetControls:SheetLabel>

                        </td>

                        <td class="tdTitle">

                            流水号

                        </td>

                        <td class="tdData" colspan="2">

                            <SheetControls:SheetSequenceID ID="SheetSequenceID1" runat="server" />

                        </td>

                    </tr>

                    <tr>

                        <th colspan="6">

                            表单明细

                        </th>

                    </tr>

                    <tr>

                        <td class="tdTitle">

                            <SheetControls:SheetLabel ID="Label12" runat="server" BindType="OnlyVisibility" DataField="流程名称控件"

                                Text="流程名称控件" />

                        </td>

                        <td class="tdData" colspan="2">

                            <SheetControls:SheetInstanceNameEditor ID="txtInstanceName" runat="server" Width="80%"

                                DataField="流程名称控件" />

                        </td>

                        <td class="tdTitle">

                            <SheetControls:SheetLabel ID="Label13" runat="server" BindType="OnlyVisibility" DataField="紧急程度控件"

                                Text="紧急程度控件" />

                        </td>

                        <td class="tdData" colspan="2">

                            <SheetControls:SheetInstancePrioritySelector ID="ddlPriority" runat="server" DataField="紧急程度控件" />

                        </td>

                    </tr>

                    <tr>

                        <td class="tdTitle">

                            <SheetControls:SheetLabel ID="Label10" runat="server" BindType="OnlyVisibility" DataField="链接控件"

                                Text="链接控件" />

                        </td>

                        <td class="tdData" colspan="2">

                            <SheetControls:SheetHyperlink ID="linkControl" runat="server" Width="80%" DataField="链接控件"

                                NavigateUrlDataField="链接控件的URL" TextDataField="链接控件的URL" Target="_blank" />

                        </td>

                        <td class="tdTitle">

                            <SheetControls:SheetLabel ID="Label11" runat="server" BindType="OnlyVisibility" DataField="链接控件的URL"

                                Text="链接控件的URL" />

                        </td>

                        <td class="tdData" colspan="2">

                            <SheetControls:SheetTextBox ID="linkControlUrl" runat="server" Width="80%" DataField="链接控件的URL" />

                        </td>

                    </tr>

                    <tr>

                        <td class="tdTitle">

                            <SheetControls:SheetLabel ID="Label18" runat="server" BindType="OnlyVisibility" DataField="流水号控件"

                                Text="流水号控件" />

                        </td>

                        <td class="tdData" colspan="2">

                            <SheetControls:SheetSequenceID ID="seqInstance" runat="server" DataField="流水号控件" />

                        </td>

                    </tr>

                    <tr>

                        <td class="tdTitle">

                            <SheetControls:SheetLabel ID="Label20" runat="server" BindType="OnlyVisibility" DataField="文本框控件"

                                Text="文本框控件" />

                        </td>

                        <td class="tdData" colspan="2">

                            <SheetControls:SheetTextBox ID="Control20" runat="server" Width="80%" DataField="文本框控件" />

                        </td>

                        <td class="tdTitle">

                            <SheetControls:SheetLabel ID="Label4" runat="server" BindType="OnlyVisibility" DataField="痕迹查看控件"

                                Text="痕迹查看控件" />

                        </td>

                        <td class="tdData">

                            <SheetControls:SheetTextBox ID="Control4" runat="server" Width="80%" DataField="痕迹查看控件" />

                            <SheetControls:SheetDataTrackLink ID="SheetDataTrackLink_Control4" runat="server"

                                DataField="痕迹查看控件" />

                        </td>

                    </tr>

                    <tr>

                        <td class="tdTitle">

                            <SheetControls:SheetLabel ID="Label3" runat="server" BindType="OnlyVisibility" DataField="审批控件"

                                Text="审批控件" />

                        </td>

                        <td class="tdData" colspan="5">

                            <SheetControls:SheetComment ID="Control3" runat="server" DataField="审批控件" ReadDataFields="审批控件"

                                Height="180px" Width="91.5%" />

                        </td>

                    </tr>

                    <tr>

                        <td class="tdTitle">

                            <SheetControls:SheetLabel ID="Label0" runat="server" BindType="OnlyVisibility" DataField="附件控件"

                                Text="附件控件" />

                        </td>

                        <td class="tdData" colspan="5">

                            <SheetControls:SheetAttachment ID="Control0" Width="91.5%" runat="server" DataField="附件控件" />

                        </td>

                    </tr>

                    <tr>

                        <td class="tdTitle">

                            <SheetControls:SheetLabel ID="Label6" runat="server" BindType="OnlyVisibility" DataField="下拉框控件"

                                Text="下拉框控件" />

                        </td>

                        <td class="tdData" colspan="2">

                            <SheetControls:SheetDropDownList ID="ddlList" runat="server" DataField="下拉框控件" DataTextField="下拉框控件的显示值">

                                <asp:ListItem Value="深圳">深圳</asp:ListItem>

                                <asp:ListItem Value="广州">广州</asp:ListItem>

                                <asp:ListItem Value="北京">北京</asp:ListItem>

                                <asp:ListItem Value="上海">上海</asp:ListItem>

                            </SheetControls:SheetDropDownList>

                            <SheetControls:SheetLabel ID="Label7" runat="server" BindType="OnlyVisibility" DataField="下拉框控件的显示值" />

                        </td>

                        <td class="tdTitle">

                            <SheetControls:SheetLabel ID="Label16" runat="server" BindType="OnlyVisibility" DataField="单选框控件"

                                Text="单选框控件" />

                        </td>

                        <td class="tdData" colspan="2">

                            <SheetControls:SheetRadioButtonList ID="rbtnSingle" runat="server" RepeatColumns="5"

                                RepeatDirection="Horizontal" DataField="单选框控件">

                                <asp:ListItem Value="广州" Selected="True">广州</asp:ListItem>

                                <asp:ListItem Value="深圳">深圳</asp:ListItem>

                                <asp:ListItem Value="佛山">佛山</asp:ListItem>

                            </SheetControls:SheetRadioButtonList>

                        </td>

                    </tr>

                    <tr>

                        <td class="tdTitle">

                            <SheetControls:SheetLabel ID="Label14" runat="server" BindType="OnlyVisibility" DataField="列表框控件"

                                Text="列表框控件" />

                        </td>

                        <td class="tdData" colspan="2">

                            <SheetControls:SheetListBox ID="listCity" runat="server" DataField="列表框控件" Width="100px">

                                <asp:ListItem Value="广州" Selected="True">广州</asp:ListItem>

                                <asp:ListItem Value="深圳">深圳</asp:ListItem>

                                <asp:ListItem Value="佛山">佛山</asp:ListItem>

                                <asp:ListItem Value="北京">北京</asp:ListItem>

                            </SheetControls:SheetListBox>

                        </td>

                        <td class="tdTitle">

                            <SheetControls:SheetLabel ID="Label2" runat="server" BindType="OnlyVisibility" DataField="复选框控件"

                                Text="复选框控件" />

                        </td>

                        <td class="tdData" colspan="2">

                            <SheetControls:SheetCheckBox ID="Control2" runat="server" DataField="复选框控件" />

                        </td>

                    </tr>

                    <tr>

                        <td class="tdTitle">

                            <SheetControls:SheetLabel ID="Label17" runat="server" BindType="OnlyVisibility" DataField="编辑框控件"

                                Text="编辑框控件" />

                        </td>

                        <td class="tdData" colspan="5">

                            <SheetControls:SheetRichTextBox ID="richBox" runat="server" Width="80%" DataField="编辑框控件" />

                        </td>

                    </tr>

                    <tr>

                        <td class="tdTitle">

                            HTML控件

                        </td>

                        <td class="tdData" colspan="5">

                            <SheetControls:SheetHtmlForm ID="htmlControl" runat="server" Width="80%" />

                        </td>

                    </tr>

                    <tr>

                        <td class="tdTitle">

                            <SheetControls:SheetLabel ID="Label1" runat="server" BindType="OnlyVisibility" DataField="日历控件"

                                Text="日历控件" />

                        </td>

                        <td class="tdData" colspan="2">

                            <SheetControls:SheetTime ID="Control1" runat="server" Width="80%" Modal="SimplifiedTime"

                                DefaultValue="CurrentTime" DataField="日历控件" />

                        </td>

                        <td class="tdTitle">

                            <SheetControls:SheetLabel ID="Label21" runat="server" BindType="OnlyVisibility" DataField="日期控件"

                                Text="日期控件" />

                        </td>

                        <td class="tdData" colspan="2">

                            <SheetControls:SheetTime ID="Control21" runat="server" Width="80%" Modal="SimplifiedTime"

                                DefaultValue="CurrentTime" DataField="日期控件" />

                        </td>

                    </tr>

                    <tr>

                        <td class="tdTitle">

                            <SheetControls:SheetLabel ID="Label22" runat="server" BindType="OnlyVisibility" DataField="SheetUserList"

                                Text="SheetUserList" />

                        </td>

                        <td class="tdData" colspan="2">

                            <SheetControls:SheetUserList ID="sulUser" runat="server" Width="80%" DataField="SheetUserList"

                                UserSelectable="true" OrgUnitSelectable="true" />

                        </td>

                        <td class="tdTitle">

                            <SheetControls:SheetLabel ID="Label24" runat="server" BindType="OnlyVisibility" DataField="SheetUserSelector"

                                Text="SheetUserSelector" />

                        </td>

                        <td class="tdData" colspan="2">

                            <SheetControls:SheetUserSelector ID="Control24" runat="server" Width="80%" DataField="SheetUserSelector"

                                UserSelectable="true" />

                        </td>

                    </tr>

                    <tr>

                        <td class="tdTitle">

                            <SheetControls:SheetLabel ID="Label15" runat="server" BindType="OnlyVisibility" DataField="组织机构显示控件"

                                Text="组织机构显示控件" />

                        </td>

                        <td class="tdData" colspan="2">

                            <SheetControls:SheetOrgList ID="orgUser" runat="server" DataField="组织机构显示控件" Width="80%" />

                        </td>

                        <td class="tdTitle">

                            <SheetControls:SheetLabel ID="Label23" runat="server" BindType="OnlyVisibility" DataField="SheetUserQuerier"

                                Text="SheetUserQuerier" />

                        </td>

                        <td class="tdData" colspan="2">

                            <SheetControls:SheetUserQuerier ID="suqUser" runat="server" Width="80%" DataField="SheetUserQuerier"

                                UserSelectable="true" />

                        </td>

                    </tr>

                    <tr>

                        <td class="tdTitle">

                            <SheetControls:SheetLabel ID="Label19" runat="server" BindType="OnlyVisibility" DataField="SheetSubTable"

                                Text="SheetSubTable" />

                        </td>

                        <td class="tdData" colspan="5">

                            <SheetControls:SheetSubTable ID="sstTable" runat="server" DataField="SheetSubTable"

                                Width="100%" />

                        </td>

                    </tr>

                    <tr>

                        <td class="tdTitle">

                            <SheetControls:SheetLabel ID="Label5" runat="server" BindType="OnlyVisibility" DataField="SheetDetail"

                                Text="SheetDetail" />

                        </td>

                        <td class="tdData" colspan="5">

                            <SheetControls:SheetDetail ID="detailTable" Width="91.5%" runat="server" DataField="SheetDetail" />

                        </td>

                    </tr>

                    <tr>

                        <td class="tdTitle">

                            <SheetControls:SheetLabel ID="Label8" runat="server" BindType="OnlyVisibility" DataField="SheetGridView"

                                Text="SheetGridView" />

                        </td>

                        <td class="tdData" colspan="5">

                            <SheetControls:SheetGridView ID="gridTable" runat="server" AutoGenerateColumns="false"

                                DataField="SheetGridView" Width="100%">

                                <Columns>

                                    <asp:TemplateField HeaderStyle-Width="95%">

                                        <HeaderTemplate>

                                            <table border="1" cellpadding="0" cellspacing="0" style="width100%">

                                                <tr>

                                                    <th rowspan="2" style="text-aligncenterwidth26%">

                                                        姓名

                                                    </th>

                                                    <th style="text-aligncenterwidth12%">

                                                        生日

                                                    </th>

                                                    <th style="text-aligncenter">

                                                        性别

                                                    </th>

                                                    <th style="text-aligncenter">

                                                        籍贯

                                                    </th>

                                                </tr>

                                                <tr>

                                                    <th style="text-aligncenter">

                                                        年龄

                                                    </th>

                                                    <th style="text-aligncenter">

                                                        学历

                                                    </th>

                                                    <th style="text-aligncenter">

                                                        爱好

                                                    </th>

                                                </tr>

                                            </table>

                                        </HeaderTemplate>

                                        <ItemTemplate>

                                            <table border="1" cellpadding="0" cellspacing="0" style="width100%">

                                                <tr>

                                                    <td rowspan="2" style="text-aligncenterwidth26%">

                                                        <SheetControls:SheetTextBox Width="95%" ID="txtName" runat="server" DataField="姓名" />

                                                    </td>

                                                    <td style="text-aligncenterwidth12%">

                                                        <SheetControls:SheetTime ID="stBirth" runat="server" DataField="生日" Modal="OnlyDate"

                                                            Width="95%" />

                                                    </td>

                                                    <td style="text-alignleft">

                                                        <SheetControls:SheetRadioButtonList ID="rbtnSex" runat="server" DataField="性别" RepeatColumns="2"

                                                            RepeatDirection="Horizontal">

                                                            <asp:ListItem Value=""></asp:ListItem>

                                                            <asp:ListItem Value=""></asp:ListItem>

                                                        </SheetControls:SheetRadioButtonList>

                                                    </td>

                                                    <td style="text-aligncenter">

                                                        <SheetControls:SheetTextBox ID="txtNation" runat="server" DataField="籍贯" Width="95%" />

                                                    </td>

                                                </tr>

                                                <tr>

                                                    <td style="text-aligncenter">

                                                        <SheetControls:SheetTextBox ID="txtAge" runat="server" DataField="年龄" Width="95%" />

                                                    </td>

                                                    <td style="text-alignleft">

                                                        <SheetControls:SheetDropDownList ID="ddlDegree" runat="server" DataField="学历">

                                                            <asp:ListItem Value="博士">博士</asp:ListItem>

                                                            <asp:ListItem Value="硕士">硕士</asp:ListItem>

                                                            <asp:ListItem Value="本科">本科</asp:ListItem>

                                                            <asp:ListItem Value="大专">大专</asp:ListItem>

                                                        </SheetControls:SheetDropDownList>

                                                    </td>

                                                    <td style="text-alignleft">

                                                        <SheetControls:SheetCheckBoxList ID="chkInterest" runat="server" DataField="爱好" RepeatColumns="5"

                                                            RepeatDirection="Horizontal">

                                                            <asp:ListItem Value="星际" Text="星际" />

                                                            <asp:ListItem Value="帝国" Text="帝国" />

                                                            <asp:ListItem Value="红警" Text="红警" />

                                                        </SheetControls:SheetCheckBoxList>

                                                    </td>

                                                </tr>

                                            </table>

                                        </ItemTemplate>

                                    </asp:TemplateField>

                                </Columns>

                                <EmptyDataTemplate>

                                    <table border="1" cellpadding="0" cellspacing="0" style="width100%">

                                        <tr>

                                            <th rowspan="2" style="text-aligncenter">

                                                姓名

                                            </th>

                                            <th style="text-aligncenter">

                                                生日

                                            </th>

                                            <th style="text-aligncenter">

                                                性别

                                            </th>

                                            <th style="text-aligncenter">

                                                籍贯

                                            </th>

                                        </tr>

                                        <tr>

                                            <th style="text-aligncenter">

                                                年龄

                                            </th>

                                            <th style="text-aligncenter">

                                                学历

                                            </th>

                                            <th style="text-aligncenter">

                                                爱好

                                            </th>

                                        </tr>

                                    </table>

                                </EmptyDataTemplate>

                            </SheetControls:SheetGridView>

                            <SheetControls:SheetLinkButton ID="lbtnAddNew" runat="server" DataField="SheetGridView"

                                Text="新增" OnClick="lbtnAddNew_Click" />

                        </td>

                    </tr>

                </table>

                <table id="tbBody" class="tableStyle" border="1" cellpadding="0" cellspacing="0">

                    <tr>

                        <td colspan="4" id="tdWordBody">

                            正文:

                        </td>

                    </tr>

                    <tr>

                        <td colspan="4" style="text-aligncenterheight900px">

                            <table border="0" style="text-aligncenter">

                                <tr>

                                    <td width="10%">

                                        &nbsp;

                                    </td>

                                    <td align="center">

                                        <SheetControls:SheetOfficeWord ID="wordContent" runat="server" DataField="正文" Width="880px"

                                            Height="1000px" PDFDataField="PDF正文" CABPath="../../Office/OfficeControl.cab" />

                                    </td>

                                    <td width="10%">

                                        &nbsp;

                                    </td>

                            </table>

                        </td>

                    </tr>

                </table>

                <div id="divBottomBars">

                    <SheetControls:SheetActionPane ID="SheetActionPane2" runat="server" ClientValidation="validation({EventType})"

                        AfterConfirmMethod="$.lockScreen(this);" />

                </div>

                <br />

                <br />

                <br />

            </div>

        </center>

    </div>

    <!-- 是否保存了PDF -->

    <SheetControls:SheetHiddenField ID="hidSavePdf" runat="server" />

    <!-- PDF 文件的ID -->

    <asp:HiddenField ID="hidPdfFileID" runat="server" Value="" />

    </form>

</body>

</html>

cs


using System;

using System.Collections;

using System.Configuration;

using System.Data;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;


namespace OThinker.H3.Portal.Sheets

{

    /// <summary>

    /// 控件及表单开发示例程序

    /// </summary>

    public partial class SheetControl : OThinker.H3.WorkSheet.SheetPage

    {

        /// <summary>

        /// 填写申请单活动节点名称

        /// </summary>

        private const string Activity_Startup = "填写申请单";


        /// <summary>

        ///

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        protected void Page_Load(object sender, EventArgs e)

        {

            // 子表控件数据初始化,用于初始化子表数据

            detailTable.EditorSourceLoading += new EventHandler<WorkSheet.EditorSourceLoadingEventArgs>(detailTable_EditorSourceLoading);

            // 子表编辑控件初始化,用于切换子表控件的编辑类型

            detailTable.EditorLoading += new EventHandler<WorkSheet.EditorLoadingEventArgs>(detailTable_EditorLoading);


            // HTML 控件

            htmlControl.Initialize(this"<div><table><tr><td><b>通过后台Initialize方法,输出HTML在表单上</b></td></tr></table></div>");

        }


        /// <summary>

        /// 控件初始化事件

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        void detailTable_EditorLoading(object sender, WorkSheet.EditorLoadingEventArgs e)

        {

            TableCell cell = e.Control as TableCell;

            if (e.ColumnName == "学历")

            {

                DropDownList ddl = new DropDownList();

                ddl.Items.Add(new ListItem("博士""博士"));

                ddl.Items.Add(new ListItem("硕士""硕士"));

                ddl.Items.Add(new ListItem("本科""本科"));

                ddl.Items.Add(new ListItem("大专""大专"));

                ddl.SelectedValue = e.Value + string.Empty;

                cell.Controls.Add(ddl);

                e.Set = true;

            }

        }


        /// <summary>

        /// 子表控件数据源初始化事件

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        void detailTable_EditorSourceLoading(object sender, WorkSheet.EditorSourceLoadingEventArgs e)

        {

            if (e.DataTableSource.Rows.Count == 0)

            {

                DataRow row = e.DataTableSource.NewRow();

                row[0] = "张三";

                e.DataTableSource.Rows.Add(row);

            }

        }


        /// <summary>

        /// 表单数据项加载

        /// </summary>

        public override void LoadDataFields()

        {

            // 当前流程实例对象:this.Enviroment.InstanceContext;

            // 当前任务对象:this.Enviroment.WorkItem;

            // 当前流程实例IDthis.Enviroment.InstanceId;

            // 当前任务ID: this.Enviroment.WorkItemID;

            // 当前流程模板类型:this.Enviroment.WorkflowPackage;

            // 当前流程模板名称:this.Enviroment.WorkflowName;

            // 当前活动节点:this.Enviroment.WorkflowActivity;


            // 基类加载数据项方法

            base.LoadDataFields();

            if (hidPdfFileID.Value == string.Empty)

            {

                this.hidPdfFileID.Value = this.wordContent.PdfID;

            }

        }


        /// <summary>

        /// 表单数据项保存

        /// </summary>

        /// <param name="Args">表单事件对象</param>

        public override void SaveDataFields(OThinker.H3.WorkSheet.SheetSubmitEventArgs Args)

        {

            // 是否提交任务: Args.Finish

            // 提交按钮类型:Args.ButtonType

            // 目标节点名称:Args.DestActivityName


            // 基类保存数据项方法

            base.SaveDataFields(Args);

        }


        /// <summary>

        /// 设置路由是否可以允许选择,适用于手工选择路由时,根据逻辑条件屏蔽路由

        /// </summary>

        /// <param name="ActivityName"></param>

        /// <returns></returns>

        public override bool IsActivitySelectable(string ActivityName)

        {

            return base.IsActivitySelectable(ActivityName);

        }


        /// <summary>

        /// 表单后台验证操作

        /// </summary>

        /// <param name="Args">表单事件对象</param>

        /// <param name="Errors">错误类型集合</param>

        /// <returns></returns>

        public override bool ValidateDataFields(WorkSheet.SheetSubmitEventArgs Args, System.Collections.Generic.List<string> Errors)

        {

            // Errors.Add("后台验证不通过!");


            return base.ValidateDataFields(Args, Errors) && Errors.Count == 0;

        }


        /// <summary>

        /// 设置(传阅/协办/征询/调整参与者)选择人员的范围

        /// </summary>

        /// <param name="SelectRecipientType"></param>

        /// <returns>可选择范围组织的ObjectID数组</returns>

        public override string[] GetOptionalRecipients(WorkSheet.SelectRecipientType SelectRecipientType)

        {

            return base.GetOptionalRecipients(SelectRecipientType);

        }


        #region 数据项权限相关操作 ----------------

        /// <summary>

        /// 设置数据项读写权限

        /// 每个数据项都会执行该方法,当返回为 True 时,表示该数据项可编辑,否则不可编辑

        /// 基类方法读取活动属性数据权限配置

        /// </summary>

        /// <param name="ItemName">数据项名称</param>

        /// <returns></returns>

        public override OThinker.Data.BoolMatchValue GetItemEditable(string ItemName)

        {

            // 参考代码:活动【填写申请单】在工作模式时,设置数据项【申请原因】可编辑;

            if (this.Enviroment.ActivityName == Activity_Startup

                && this.Enviroment.IsWorkMode

                && ItemName == "申请原因")

            {

                return OThinker.Data.BoolMatchValue.True;

            }

            return base.GetItemEditable(ItemName);

        }


        /// <summary>

        /// 设置数据项是否必须输入

        /// </summary>

        /// <param name="ItemName">数据项名称</param>

        /// <returns></returns>

        public override OThinker.Data.BoolMatchValue GetItemRequired(string ItemName)

        {

            return base.GetItemRequired(ItemName);

        }


        /// <summary>

        /// 设置数据项查看痕迹权限是否可见,该功能需要数据项设置了记录痕迹功能

        /// </summary>

        /// <param name="ItemName">数据项名称</param>

        /// <returns></returns>

        public override OThinker.Data.BoolMatchValue GetItemTrackVisible(string ItemName)

        {

            return base.GetItemTrackVisible(ItemName);

        }


        /// <summary>

        /// 设置数据项是否可见

        /// </summary>

        /// <param name="ItemName">数据项名称</param>

        /// <returns></returns>

        public override OThinker.Data.BoolMatchValue GetItemVisible(string ItemName)

        {

            return base.GetItemVisible(ItemName);

        }

        #endregion



        /// <summary>

        /// 模板子表控件新增行数据

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        protected void lbtnAddNew_Click(object sender, EventArgs e)

        {

            this.gridTable.AddNew();

        }


        /// <summary>

        /// 自定义按钮事件

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        protected void btnClick_Click(object sender, EventArgs e)

        {

            Response.Write(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));

        }

    }

}



#region 数据库创建脚本 -----------

/*


 CREATE TABLE [dbo].SheetGridView(

         [ObjectID] [nvarchar](36) NULL,

         [InstanceId] [nvarchar](36) NULL,

         [DataField] [nvarchar](32) NULL,

         [姓名] [nvarchar](32) NULL,

         [生日] [datetime] NULL,

         [籍贯] [nvarchar](32) NULL,

         [性别] [nvarchar](32) NULL,

         [爱好] [nvarchar](32) NULL,

         [学历] [nvarchar](16) NULL,

         [年龄] [int] NULL

) ON [PRIMARY]


GO



CREATE TABLE SheetDetail

(

         [ObjectID] [nvarchar](36) NULL,

         [InstanceId] [nvarchar](36) NULL,

         [DataField] [nvarchar](32) NULL,

         [姓名] [nvarchar](32) NULL,

         [生日] [datetime] NULL,

         [籍贯] [nvarchar](32) NULL,

         [性别] bit,

         [爱好] [nvarchar](32) NULL,

         [学历] [nvarchar](16) NULL,

         [年龄] [int] NULL

)


CREATE TABLE SheetSubTable

(

         [ObjectID] [nvarchar](36) NULL,

         [InstanceId] [nvarchar](36) NULL,

         [DataField] [nvarchar](32) NULL,

         [姓名] [nvarchar](32) NULL,

         [生日] [datetime] NULL,

         [籍贯] [nvarchar](32) NULL,

         [性别] bit NULL,

         [爱好] [nvarchar](32) NULL,

         [学历] [nvarchar](16) NULL,

         [年龄] [int] NULL

)


*/

#endregion