Exemplo n.º 1
0
        private void FetchFormHtmlAndScript(FormConfig form, ref string formLayout, ref string script)
        {
            formLayout = Server.HtmlDecode(form.LayOutSetting);
            var ctrlAttrList = form.GetCtrlAttrList();

            foreach (var ctrlAttr in ctrlAttrList)
            {
                //控件html
                var ctrl = GeneralEasyuiCtrl(ctrlAttr);
                if (ctrl == null)
                {
                    continue;
                }

                script += ctrl.GetScript() + "\n\r";
                string easyuiCtrlHtml = ctrl.GetCtrlHtm();
                if (string.IsNullOrEmpty(easyuiCtrlHtml))
                {
                    continue;
                }

                //替换标签
                string fieldToReplace = ctrlAttr.GetValue("ColumnName");
                if (string.IsNullOrEmpty(fieldToReplace))
                {
                    fieldToReplace = ctrlAttr.GetValue("FieldName");
                }
                if (!string.IsNullOrEmpty(formLayout))
                {
                    formLayout = formLayout.Replace("{" + fieldToReplace + "}", easyuiCtrlHtml);
                }
            }
        }
Exemplo n.º 2
0
        public JsonResult GetCtrlList()
        {
            string     id = QueryString("formId");
            FormConfig fc = UnitOfWork.GetByKey <FormConfig>(id);

            fc.CheckNotNull("FormConfig");
            return(Json(fc.GetCtrlAttrList()));
        }
Exemplo n.º 3
0
        public JsonResult CreateLayout(string formId, string layoutType)
        {
            formId.CheckNotNullOrEmpty("formId");
            FormConfig cForm = UnitOfWork.GetByKey <FormConfig>(formId);

            cForm.CheckNotNull("FormConfig");
            var           ctrlList   = cForm.GetCtrlAttrList();
            StringBuilder formHtmlSB = new StringBuilder();

            //title
            //hidden dom
            formHtmlSB.Append("<input id='Id' name='Id' type='hidden' />");
            var noCtrlList = ctrlList.Where(a => string.IsNullOrEmpty(a.GetValue("CtrlType")));

            foreach (var ctrl in noCtrlList)
            {
                if (!string.IsNullOrEmpty(ctrl.GetValue("FieldName")))
                {
                    formHtmlSB.Append(string.Format("<input id='{0}' name='{0}' type='hidden' />", ctrl.GetValue("FieldName")));
                }
            }

            //visible dom
            var    withCtrlList = ctrlList.Where(a => !string.IsNullOrEmpty(a.GetValue("CtrlType"))).ToList();
            int    ctrlCount    = withCtrlList.Count();
            double dCol         = 0;

            double.TryParse(layoutType, out dCol);
            if (dCol == 0)
            {
                return(Json(""));
            }


            double tmp      = ctrlCount / dCol;
            int    rowCount = Convert.ToInt32(Math.Ceiling(tmp));

            double leftTdWithPercent  = 15;
            double rightTdWithPercent = Math.Round(100 / dCol, 2) - 15;

            if (rightTdWithPercent < 0)
            {
                rightTdWithPercent = leftTdWithPercent = Math.Round(100 / Convert.ToDouble(2 * dCol), 0);
            }

            formHtmlSB.Append("<table class='groupTable'>");
            //title
            formHtmlSB.Append(string.Format("<tr><td colspan='{0}' class='title'>{1}</td></tr>", 2 * dCol, cForm.Name));

            //row
            int ctrlIndex = 0;

            for (int i = 0; i < rowCount; i++)
            {
                formHtmlSB.Append("<tr>");
                for (int j = 0; j < dCol; j++)
                {
                    string ctrlColName = "";
                    if (ctrlIndex < withCtrlList.Count)
                    {
                        var ctrl = withCtrlList[ctrlIndex];
                        ctrlColName = ctrl.GetValue("ColumnName");
                        if (string.IsNullOrEmpty(ctrlColName))
                        {
                            ctrlColName = ctrl.GetValue("FieldName");
                        }
                    }

                    //left
                    formHtmlSB.Append(string.Format("<td style='width:{0}%'>{1}</td>", leftTdWithPercent,
                                                    string.IsNullOrEmpty(ctrlColName) ? "" : (ctrlColName + ":")));
                    //right
                    formHtmlSB.Append(string.Format("<td style='width:{0}%'>{1}</td>", rightTdWithPercent,
                                                    string.IsNullOrEmpty(ctrlColName) ? "" : ("{" + ctrlColName + "}")));
                    ctrlIndex++;
                }
                formHtmlSB.Append("</tr>");
            }
            formHtmlSB.Append("</table>");


            return(Json(formHtmlSB.ToString()));
        }