自定义表单设计之三-表单列表实现
  CLYEAq02EKEQ 2023年11月02日 45 0

自定义表单设计之三-表单列表实现_自定义表单

代码实现-表单列表

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>表单列表</title>
</head>
<body>
    <form id="formList" runat="server">
    <div align="center">
        <table width="96%" border="0" cellspacing="0" cellpadding="0" align="center" id="Table1">
            <tr>
                <td class="TableBody1" valign="top">
                    <table width="100%" border="0" align="center" cellpadding="5" cellspacing="0">
                        <tr>
                            <td class="table_bgcolor">
                                <table class="bordercolor" cellpadding="5" width="100%" border="1" cellspacing="0">
                                    <tr>
                                        <td height="25px" class="table_titlebgcolor" align="center">
                                            <b>表单管理</b>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td height="22px" align="center">
                                            表单名称:<asp:TextBox runat="server" ID="FormNameTextBox">  </asp:TextBox><asp:Button
                                                runat="server" Text="查询" ID="SearchButton" OnClick="onSearchButtonClick" />  <asp:Button
                                                    runat="server" ID="AddFormButton" Text="添加" OnClick="onAddFormButtonClick" />
                                        </td>
                                    </tr>
                                    <tr>
                                        <td align="center">
                                            <asp:GridView runat="server" ID="FormGridView" SkinID="GridViewSkin" EmptyDataText="没有找到符合条件的记录!"
                                                AutoGenerateColumns="false" OnRowDataBound="FormGridView_RowDataBound">
                                                <Columns>
                                                    <asp:TemplateField HeaderText="序号">
                                                        <ItemTemplate>
                                                            <%# (Container.DataItemIndex + 1) %>
                                                        </ItemTemplate>
                                                    </asp:TemplateField>
                                                    <asp:HyperLinkField DataNavigateUrlFormatString="FormEdit.aspx?action=edit&formid={0}"
                                                        DataNavigateUrlFields="id" DataTextField="namelabel" HeaderText="表单名称" />
                                                    <asp:BoundField DataField="tablename" HeaderText="主表名称" />
                                                    <asp:BoundField DataField="formdes" HeaderText="表单描述" />
                                                    <asp:HyperLinkField DataNavigateUrlFields="id,workflowid" DataNavigateUrlFormatString="ProcessInfo.aspx?id={0}&workflowid={1}"
                                                        HeaderText="挂接流程" DataTextField="workflowid" Target="_blank" />
                                                    <asp:CommandField HeaderText="操作" DeleteText="删除" />
                                                </Columns>
                                            </asp:GridView>
                                        </td>
                                    </tr>
                                </table>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
        </table>
    </div>
    </form>
</body>
</html>

FormList.aspx.cs 后端代码

/// <summary>
        /// 显示所有表单
        /// </summary>
        private void bindFormList()
        {
            string formname = FormNameTextBox.Text.Trim();
            processList = processBLL.GetModelList("");
            string search = "";
            if(false == string.IsNullOrEmpty(formname))
            {
                search = "namelabel like '%" + formname + "%'";
            }
            FormGridView.DataSource = formBLL.GetModelList(search);
            FormGridView.DataBind();
        }

        #region EventHandler
        /// <summary>
        /// 查询表单
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void onSearchButtonClick(object sender, EventArgs e)
        {
            bindFormList();
        }

        /// <summary>
        /// 添加表单
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void onAddFormButtonClick(object sender, EventArgs e)
        {
            Response.Redirect("FormEdit.aspx?action=add&formid=0");
        }

        protected void FormGridView_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                HyperLink bindWFLink = e.Row.Cells[4].Controls[0] as HyperLink;
                if (false == string.IsNullOrEmpty(bindWFLink.Text))
                {
                    Guid workflowid = new Guid(bindWFLink.Text);
                    M.WF_Process process = processList.Where(s => s.WorkFlowID == workflowid).FirstOrDefault();
                    if (process != null)
                    {
                        bindWFLink.Text = process.WorkFlowName;

                    }
                }
                else
                {
                    bindWFLink.Text = "挂接流程";
                }
            }
        }
        #endregion //End EventHandler

        #region Fields
        private B.workflow_bill formBLL = new B.workflow_bill();
        
        #endregion //End Fields

创建编辑表单-同时创建数据库主表、子表

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (!string.IsNullOrEmpty(Request.QueryString["action"]))
                {
                    ViewState["action"] = Request.QueryString["action"];
                }
                if (!string.IsNullOrEmpty(Request.QueryString["formid"]))
                {
                    ViewState["formid"] = Request.QueryString["formid"];
                }
                if (ViewState["action"].ToString() == "edit")
                {
                    initialForm();
                }
            }
        }

        #region EventHandler
        /// <summary>
        /// 保存表单
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void onSaveFormButtonClick(object sender, EventArgs e)
        {
            //TODO: 
            /*  判断表单是添加还是修改
                创建主表格
             */
            if (ViewState["action"].ToString() == "add")
            {
                //get next form id
                //create form 
                //create from table
                int formid = seqBLL.GetNextSeq("form");
                if (formid < 0)
                {
                    return;
                }
                M.workflow_bill formModel = new M.workflow_bill();
                formModel.id = formid;
                formModel.namelabel = FormNameTextBox.Text.Trim();
                formModel.formdes = FormdesTextBox.Text;
                formModel.tablename = "form_main_" + formid;
                formModel.detailkeyfield = "mainid";
                formModel.subcompanyid = 1;
                formBLL.Add(formModel);
                createMainTable(formid);
                ViewState["action"] = "edit";
                ViewState["formid"] = formid.ToString();
                Response.Redirect("FormEdit.aspx?action=edit&formid=" + formid);
                return;
            }
            if (ViewState["action"].ToString() == "edit")
            {
                int formid = 0;
                int.TryParse(ViewState["formid"].ToString(), out formid);
                //modify description

                return;
            }
        }

        /// <summary>
        /// 返回列表页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void onBackButtonClick(object sender, EventArgs e)
        {
            Response.Redirect("FormList.aspx");
        }
        
        #endregion End EventHandler

        #region Helper Methods
        private void initialForm()
        {
            string formid = ViewState["formid"].ToString();
            int id = -1;
            if (int.TryParse(formid, out id))
            {
                M.workflow_bill form = formBLL.GetModel(id);
                if (form != null)
                {
                    FormNameTextBox.Text = form.namelabel;
                    FormdesTextBox.Text = form.formdes;
                }
            }
        }

        private void createMainTable(int formid)
        {
            formBLL.CreateMainTable(formid);
        }

        protected string getFormID()
        {
            return ViewState["formid"].ToString();
        }

        //protected string getAction()
        //{
        //    return ViewState["action"].ToString();
        //}
        #endregion //End Helper Methods

        #region Fields
        private BLL.WorkFlow.SequenceIndex seqBLL = new B.SequenceIndex();
        private BLL.WorkFlow.workflow_bill formBLL = new B.workflow_bill();
        private B.workflow_billfield formFieldBLL = new B.workflow_billfield();
        private B.workflow_billdetailtable formDetailTableBLL = new B.workflow_billdetailtable();
        private B.workflow_formdetailinfo formDetailInfoBLL = new B.workflow_formdetailinfo();
        #endregion //End Fields


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

CLYEAq02EKEQ