Пример #1
0
        public static string[][] InitKeywordTitleDes(System.Web.UI.Page page, long infoID, Tz888.Model.Info.MainInfoModel model, CheckBoxList chkKeyWord, CheckBoxList chkTitles, CheckBoxList chkDes, ref string defaultValueID)
        {
            bool           isPostback    = page.IsPostBack;//初始化时需要判断是否是PostBack
            ArrayList      disableInputs = new ArrayList();
            PageIniControl pic           = new PageIniControl();

            //注册ajax脚本
            if (page.IsClientScriptBlockRegistered("ajaxInvokeadfsf") == false)
            {
                page.RegisterClientScriptBlock("ajaxInvokeadfsf", ajaxInvoke);
            }

            DataTable dt = null;

            if (isPostback == false)                       // || defaultValueID == null || defaultValueID == "" || defaultValueID == "0" )
            {
                dt = pic.DefaultViewDataBind(model).Table; //Load对应信息类型的关键字等设置
                if (dt != null && dt.Rows.Count > 0)
                {
                    defaultValueID = dt.Rows[0]["ID"].ToString();
                }
                else
                {
                    return(new string[][] { new string[] {},
                                            new string[] {},
                                            new string[] {} });
                }
            }
            else
            {
                if (defaultValueID == null || defaultValueID == "" || defaultValueID == "0")
                {
                    return(new string[][] { new string[] {},
                                            new string[] {},
                                            new string[] {} });                    //返回空串
                }
                long currentPage = 1;
                long pageCount   = 0;
                Tz888.BLL.Info.SetSubDefaultValueRule ssdv = new SetSubDefaultValueRule();
                dt = (ssdv.GetList("ID as SubDefaultID,DefType,IsNeeded,IsDefaultSelect", "SetDefaultValueID=" + defaultValueID, "", ref currentPage, -1, ref pageCount)).Table;
            }

            bool isFirst = true;//这条信息第一次加载

            //Load该信息的关键字等设置

            Tz888.BLL.Info.InfoDefaultDEFRule infoDefault = new InfoDefaultDEFRule();

            DataView dvInfoDefault = infoDefault.GetList(infoID, 0);
            DataView dvKeyWord     = new DataView(dt);

            if (isPostback == false)
            {
                dvKeyWord.Sort        = "Seq";
                dvKeyWord.RowFilter   = "DefType=2 OR DefType=3 OR DefType=6 OR DefType=7";
                chkKeyWord.DataSource = dvKeyWord;
                chkKeyWord.DataBind();

                //该信息的定义

                dvInfoDefault.RowFilter = "DefType = 2";
                for (int i = 0; i < dvInfoDefault.Count; i++)
                {
                    string   subDefaultValueID = dvInfoDefault[i]["SubDefaultValueID"].ToString().Trim();
                    ListItem li = chkKeyWord.Items.FindByValue(subDefaultValueID);
                    if (li != null)
                    {
                        li.Selected = true;
                        isFirst     = false;
                    }
                }
            }
            ArrayList keyDefaults = new ArrayList();//默认选择和必填项,ID的集合

            //默认选择
            for (int i = 0; i < dvKeyWord.Count; i++)
            {
                bool   isDefaultSelect = Convert.ToBoolean(dvKeyWord[i]["IsDefaultSelect"]);
                bool   isNeeded        = Convert.ToBoolean(dvKeyWord[i]["IsNeeded"]);
                string subDefaultID    = dvKeyWord[i]["SubDefaultID"].ToString().Trim();
                if (isDefaultSelect || isNeeded)
                {
                    keyDefaults.Add(subDefaultID);
                }
                if ((isDefaultSelect && isFirst) || isNeeded)
                {
                    ListItem li = chkKeyWord.Items.FindByValue(subDefaultID);
                    if (li != null)
                    {
                        if (isPostback == false)
                        {
                            li.Selected = true;
                        }
                        if (isNeeded)
                        {
                            disableInputs.Add(chkKeyWord.ClientID + "_" + chkKeyWord.Items.IndexOf(li).ToString());
                        }
                    }
                }
            }


            dvKeyWord = null;
            //绑定Title
            isFirst = true;                            //这条信息第一次加载
            ArrayList titleDefaults = new ArrayList(); //默认选择和必填项,ID的集合
            DataView  dvTitle       = new DataView(dt);

            if (isPostback == false)
            {
                dvTitle.Sort         = "Seq";
                dvTitle.RowFilter    = "DefType=1 OR DefType=3 OR DefType=5 OR DefType=7";
                chkTitles.DataSource = dvTitle;
                chkTitles.DataBind();
                dvInfoDefault.RowFilter = "DefType = 1";
                for (int i = 0; i < dvInfoDefault.Count; i++)
                {
                    string   subDefaultValueID = dvInfoDefault[i]["SubDefaultValueID"].ToString().Trim();
                    ListItem li = chkTitles.Items.FindByValue(subDefaultValueID);
                    if (li != null)
                    {
                        li.Selected = true;
                        isFirst     = false;
                    }
                }
            }
            //默认选择
            for (int i = 0; i < dvTitle.Count; i++)
            {
                bool   isDefaultSelect = Convert.ToBoolean(dvTitle[i]["IsDefaultSelect"]);
                bool   isNeeded        = Convert.ToBoolean(dvTitle[i]["IsNeeded"]);
                string subDefaultID    = dvTitle[i]["SubDefaultID"].ToString().Trim();
                if (isDefaultSelect || isNeeded)
                {
                    titleDefaults.Add(subDefaultID);
                }
                if ((isDefaultSelect && isFirst) || isNeeded)
                {
                    ListItem li = chkTitles.Items.FindByValue(subDefaultID);
                    if (li != null)
                    {
                        if (isPostback == false)
                        {
                            li.Selected = true;
                        }
                        if (isNeeded)
                        {
                            disableInputs.Add(chkTitles.ClientID + "_" + chkTitles.Items.IndexOf(li).ToString());
                        }
                    }
                }
            }

            dvTitle = null;
            //绑定描述
            isFirst = true;//这条信息第一次加载
            DataView dvDes = new DataView(dt);

            if (isPostback == false)
            {
                dvDes.Sort        = "Seq";
                dvDes.RowFilter   = "DefType=4 OR DefType=5 OR DefType=6 OR DefType=7";
                chkDes.DataSource = dvDes;
                chkDes.DataBind();
                dvInfoDefault.RowFilter = "DefType = 4";
                for (int i = 0; i < dvInfoDefault.Count; i++)
                {
                    string   subDefaultValueID = dvInfoDefault[i]["SubDefaultValueID"].ToString().Trim();
                    ListItem li = chkDes.Items.FindByValue(subDefaultValueID);
                    if (li != null)
                    {
                        li.Selected = true;
                        isFirst     = false;
                    }
                }
            }
            //默认选择
            ArrayList desDefaults = new ArrayList();//默认选择和必填项,ID的集合

            for (int i = 0; i < dvDes.Count; i++)
            {
                bool   isDefaultSelect = Convert.ToBoolean(dvDes[i]["IsDefaultSelect"]);
                bool   isNeeded        = Convert.ToBoolean(dvDes[i]["IsNeeded"]);
                string subDefaultID    = dvDes[i]["SubDefaultID"].ToString().Trim();
                if (isDefaultSelect || isNeeded)
                {
                    desDefaults.Add(subDefaultID);
                }
                if ((isDefaultSelect && isFirst) || isNeeded)
                {
                    ListItem li = chkDes.Items.FindByValue(subDefaultID);
                    if (li != null)
                    {
                        if (isPostback == false)
                        {
                            li.Selected = true;
                        }

                        if (isNeeded)
                        {
                            disableInputs.Add(chkDes.ClientID + "_" + chkDes.Items.IndexOf(li).ToString());
                        }
                    }
                }
            }

            dvDes = null;

            string disableInputStr = "";

            for (int i = 0; i < disableInputs.Count; i++)
            {
                disableInputStr += @"'" + disableInputs[i].ToString() + @"',";
            }
            if (disableInputStr != "")//注册禁用必选项的脚本
            {
                disableInputStr = disableInputStr.TrimEnd(new char[] { ',' });
                if (page.IsStartupScriptRegistered("DisabledScript") == false)
                {
                    page.RegisterStartupScript("DisabledScritp", string.Format(DisableScript, disableInputStr));
                }
            }

            string[][] allDefaults = new string[3][];
            allDefaults[0] = new string[keyDefaults.Count];
            allDefaults[1] = new string[titleDefaults.Count];
            allDefaults[2] = new string[desDefaults.Count];
            keyDefaults.CopyTo(allDefaults[0]);
            titleDefaults.CopyTo(allDefaults[1]);
            desDefaults.CopyTo(allDefaults[2]);
            return(allDefaults);
        }
Пример #2
0
        private string GetStr(DataView dv, string value, DataView dvInfo, char divChar, string attachStr)
        {
            System.Collections.ArrayList keys = new System.Collections.ArrayList();
            string[] skeys = value.Split(new char[] { divChar });
            for (int i = 0; i < skeys.Length; i++)
            {
                if (skeys[i] != "")
                {
                    keys.Add(skeys[i]);
                }
            }

            for (int i = 0; i < dv.Count; i++)
            {
                string fromColumn = dv[i]["FromColumn"].ToString().Trim();
                string fromValue  = "";
                if (fromColumn != "")//取字段值
                {
                    if (dvInfo.Table.Columns.Contains(fromColumn))
                    {
                        fromValue = dvInfo[0][fromColumn].ToString().Trim();

                        //对合作需求作特殊处理
                        if (fromColumn == "CooperationDemandType")
                        {
                            string[]       coopers = fromValue.Split(new char[] { ',' });
                            PageIniControl bindObj = new PageIniControl();

                            List <Tz888.Model.Info.CooperationDemandTypeModel> dvCooper = Tz888.BLL.Info.Common.GetCooperationDemandList("Capital");
                            for (int j = 0; j < coopers.Length; j++)
                            {
                                //CooperationDemandType CooperationDemandTypeID,CooperationDemandTypeName,CooperationDemandTypeID
                                for (int k = 0; k < dvCooper.Count; k++)
                                {
                                    if (coopers[j] == dvCooper[k].CooperationDemandTypeID.Trim())
                                    {
                                        keys.Add(dvCooper[k].CooperationDemandName.Trim());
                                    }
                                }
                                fromValue = "";
                            }
                        }
                    }
                }
                else//取固定值
                {
                    fromValue = dv[i]["FromValue"].ToString().Trim();
                }

                if (fromValue != "" && keys.Contains(fromValue) == false)
                {
                    keys.Add(fromValue);
                }
            }

            if (attachStr != "")
            {
                string[] attachStrs = attachStr.Split(new char[] { divChar });
                for (int i = 0; i < attachStrs.Length; i++)
                {
                    if (attachStrs[i] != "" && keys.Contains(attachStrs[i]) == false)
                    {
                        keys.Add(attachStrs[i]);
                    }
                }
            }

            string keyWord = "";

            for (int i = 0; i < keys.Count; i++)
            {
                keyWord += (string)keys[i] + divChar;
            }
            keyWord = keyWord.TrimEnd(new char[] { divChar });

            return(keyWord);
        }