示例#1
0
 public string GenDefaultValues(WebDataSource wds)
 {
     StringBuilder builder = new StringBuilder();
     DataTable tab = wds.InnerDataSet.Tables[wds.DataMember];
     foreach (AjaxFormField field in this.Fields)
     {
         if (!string.IsNullOrEmpty(field.DefaultValue))
         {
             Type type = tab.Columns[field.DataField].DataType;
             if (GloFix.IsNumeric(type))
             {
                 builder.AppendFormat("{0}:{1},", field.DataField, field.DefaultValue);
             }
             else if (type == typeof(Boolean))
             {
                 builder.AppendFormat("{0}:{1},", field.DataField, field.DefaultValue.ToLower());
             }
             else
             {
                 builder.AppendFormat("{0}:'{1}',", field.DataField, field.DefaultValue);
             }
         }
         else if (!string.IsNullOrEmpty(field.DefaultMethod))
         {
             if (field.DefaultMethod.IndexOf('.') != -1)
             {
                 builder.AppendFormat("{0}:'@srvMethod:{1}',", field.DataField, field.DefaultMethod);
             }
             else
             {
                 builder.AppendFormat("{0}:{1}(),", field.DataField, field.DefaultMethod);
             }
         }
     }
     if (builder.ToString().EndsWith(","))
     {
         builder.Remove(builder.Length - 1, 1);
     }
     return builder.ToString();
 }
示例#2
0
        private void doOkForGridInsert(WebGridView gridView, WebDataSource ds)
        {
            Hashtable ht = new Hashtable();
            for (int i = 0; i < gridView.Columns.Count; i++)
            {
                string fieldName;
                if (gridView.Columns[i] is BoundField)
                {
                    fieldName = ((BoundField)gridView.Columns[i]).DataField;
                    if (!((BoundField)gridView.Columns[i]).ReadOnly)
                    {
                        TextBox txt = (TextBox)gridView.FooterRow.FindControl("InfoTextBox" + fieldName);
                        if (txt != null)
                        {
                            if (txt.Text == "")
                            {
                                ht.Add(fieldName, DBNull.Value);
                            }
                            else
                            {
                                ht.Add(fieldName, txt.Text);
                            }
                        }
                    }
                    else
                    {
                        Label lbl = (Label)gridView.FooterRow.FindControl("InfoLabel" + fieldName);
                        if (lbl != null)
                        {
                            if (lbl.Text == "")
                            {
                                ht.Add(fieldName, DBNull.Value);
                            }
                            else
                            {
                                ht.Add(fieldName, lbl.Text);
                            }
                        }
                    }
                }
                else if (gridView.Columns[i] is TemplateField)
                {
                    fieldName = gridView.Columns[i].SortExpression;
                    object strValue = GetValue(fieldName, gridView);
                    if (strValue == null || strValue.ToString() == "")
                    //modified by lily 2007/4/12 如果多个Templatefield,且没有设定SortExpression,会报错。
                    {
                        if (fieldName != null && fieldName != "")
                            ht.Add(fieldName, DBNull.Value);
                    }
                    else
                        ht.Add(fieldName, strValue);
                }
            }
            WebValidate validate = (WebValidate)gridView.ExtendedFindChildControl(gridView.DataSourceID, FindControlType.DataSourceID, typeof(WebValidate));
            if (validate != null)
            {
                validate.Text = string.Empty;
                if (ds.PrimaryKey.Length > 0)
                {
                    object[] value = new object[ds.PrimaryKey.Length];
                    for (int i = 0; i < ds.PrimaryKey.Length; i++)
                    {
                        string columnName = ds.PrimaryKey[i].ColumnName;
                        if (ht.ContainsKey(columnName))
                        {
                            value[i] = ht[columnName];
                        }
                        else if (ds.RelationValues != null && ds.RelationValues.Contains(columnName))
                        {
                            value[i] = ds.RelationValues[columnName];
                        }
                        else
                        {
                            throw new EEPException(EEPException.ExceptionType.ColumnValueNotFound, ds.GetType(), ds.ID, columnName, null);
                        }

                    }
                    if (!validate.CheckDuplicate(ds, value))
                    {
                        gridView.ValidateFailed = true;
                        return;
                    }
                }
                bool validateSucess = validate.CheckValidate(ht);
                if (validateSucess)
                {
                    gridView.ValidateFailed = false;
                    ds.Insert(ht);
                    gridView.GridInserting = false;
                    gridView.OnAfterInsert(EventArgs.Empty);
                    if (!gridView.TotalActive)
                        gridView.ShowFooter = false;
                    else
                        gridView.DataBind();
                }
                else
                {
                    gridView.ValidateFailed = true;
                    gridView.ValidateFormat();
                }

                if (gridView.ValidateFailed)
                    return;
            }
            else
            {
                ds.Insert(ht);
                gridView.GridInserting = false;
                gridView.OnAfterInsert(EventArgs.Empty);
                if (!gridView.TotalActive)
                    gridView.ShowFooter = false;
                else
                    gridView.DataBind();
            }
            WebNavigator bindingNav = gridView.GetBindingNavigator();
            if (bindingNav != null && bindingNav != this)
            {
                if (ds.AutoApply)
                {
                    bindingNav.SetState(WebNavigator.NavigatorState.ApplySucess);
                    bindingNav.SetNavState("Browsed");
                }
                else
                {
                    bindingNav.SetState(WebNavigator.NavigatorState.Changed);
                    bindingNav.SetNavState("Changing");
                }
            }
            if (ds.AutoApply)
            {
                this.SetState(WebNavigator.NavigatorState.ApplySucess);
                this.SetNavState("Browsed");
            }
            else
            {
                this.SetState(WebNavigator.NavigatorState.Changed);
                this.SetNavState("Changing");
            }
        }
示例#3
0
 private void DoWhere(WebDataSource ds)
 {
     if (this.WhereItem.Count > 0)
     {
         string dbAlias = GetDBAlias();
         string commandText = GetCommandText();
         string whereitem = "";
         if (dbAlias != "" && commandText != "")
         {
             whereitem = GetWhereItem(true, false);
             string comand = ds.SelectCommand;
             ds.SelectCommand = CliUtils.InsertWhere(ds.SelectCommand, whereitem);
             ds.CommandTable = ds.GetCommandTable();
             ds.SelectCommand = comand;
         }
         else
         {
             whereitem = GetWhereItem(false, false);
             ds.SetWhere(whereitem);
         }
     }
 }
示例#4
0
        private String GenWebDataSource(TBlockFieldItem FieldItem, String TableName, String Kind, String ExtraName, bool isAjaxControl)
        {
            String Name = "wds" + TableName + FieldItem.DataField + ExtraName;

            bool isExist = false;
            foreach (WebDataSource bWebDataSource in FWebDataSourceList)
            {
                if (String.Compare(bWebDataSource.ID, Name) == 0)
                {
                    isExist = true;
                    break;
                }
            }
            #if VS90
            object oDataSource = FDesignerDocument.webControls.item(Name, 0);
            if (oDataSource != null && oDataSource is WebDevPage.IHTMLElement)
            {
                WebDevPage.IHTMLElement eDataSoruce = oDataSource as WebDevPage.IHTMLElement;
                if (eDataSoruce.tagName.ToLower() == "infolight:webdatasource")
                    return Name;
            }

            WebDevPage.IHTMLElement form = ((WebDevPage.IHTMLElementCollection)FDesignerDocument.pageContentElement.children).item("form1", 0) as WebDevPage.IHTMLElement;

            if (Kind == "RefValBox")
            {
                WebDataSource aWebDataSource = new WebDataSource();
                try
                {
                    InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType);
                    aInfoCommand.Connection = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, true);
                    //aInfoCommand.Connection = FClientData.Owner.GlobalConnection;
                    IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand);
                    if (FSYS_REFVAL != null)
                        FSYS_REFVAL.Dispose();
                    FSYS_REFVAL = new DataSet();
                    aInfoCommand.CommandText = String.Format("Select * from SYS_REFVAL where REFVAL_NO = '{0}'", FieldItem.RefValNo);
                    WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, FSYS_REFVAL, FieldItem.RefValNo);
                    aWebDataSource.SelectAlias = FSYS_REFVAL.Tables[0].Rows[0]["SELECT_ALIAS"].ToString();
                    aWebDataSource.SelectCommand = FSYS_REFVAL.Tables[0].Rows[0]["SELECT_COMMAND"].ToString();
                }
                catch (SqlException sex)
                {
                    if (sex.Number == 208)
                    {
                        string sSysDBAlias = WzdUtils.GetSystemDBName();
                        ClientType sSysDBType = WzdUtils.GetSystemDBType();
                        DbConnection sysConn = WzdUtils.AllocateConnection(sSysDBAlias, sSysDBType, false);
                        if (sysConn.State != ConnectionState.Open) sysConn.Open();
                        DbCommand comm = sysConn.CreateCommand();
                        IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(comm);
                        if (FSYS_REFVAL != null)
                            FSYS_REFVAL.Dispose();
                        FSYS_REFVAL = new DataSet();
                        comm.CommandText = String.Format("Select * from SYS_REFVAL where REFVAL_NO = '{0}'", FieldItem.RefValNo);
                        WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, FSYS_REFVAL, FieldItem.RefValNo);
                        aWebDataSource.SelectAlias = FSYS_REFVAL.Tables[0].Rows[0]["SELECT_ALIAS"].ToString();
                        aWebDataSource.SelectCommand = FSYS_REFVAL.Tables[0].Rows[0]["SELECT_COMMAND"].ToString();
                    }
                }

                if (!isExist)
                {
                    aWebDataSource.ID = Name;
                    FWebDataSourceList.Add(aWebDataSource);
                    if (isAjaxControl)
                        form.insertAdjacentHTML("afterBegin", "<InfoLight:WebDataSource ID=\"" + Name + "\" runat=\"server\" SelectAlias=\"" + aWebDataSource.SelectAlias + "\" SelectCommand=\"" + aWebDataSource.SelectCommand + "\" CacheDataSet=\"True\"></InfoLight:WebDataSource>");
                    else
                        form.insertAdjacentHTML("afterBegin", "<InfoLight:WebDataSource ID=\"" + Name + "\" runat=\"server\" SelectAlias=\"" + aWebDataSource.SelectAlias + "\" SelectCommand=\"" + aWebDataSource.SelectCommand + "\"></InfoLight:WebDataSource>");
                }
            }
            else if (Kind == "ComboBox")
            {
                string type = FindSystemDBType("SystemDB");
                string cmd = "";
                if (type == "1")
                    cmd = String.Format("Select * from [{0}]", TableName);
                else if (type == "2")
                    cmd = String.Format("Select * from [{0}]", TableName);
                else if (type == "3")
                    cmd = String.Format("Select * from {0}", TableName);
                else if (type == "4")
                    cmd = String.Format("Select * from {0}", TableName);
                else if (type == "5")
                    cmd = String.Format("Select * from {0}", TableName);
                else if (type == "6")
                    cmd = String.Format("Select * from {0}", TableName);
                else if (type == "7")
                    cmd = String.Format("Select * from {0}", TableName);

                if (!isExist)
                {
                    WebDataSource aWebDataSource = new WebDataSource();
                    aWebDataSource.ID = Name;
                    FWebDataSourceList.Add(aWebDataSource);
                    if (isAjaxControl)
                        form.insertAdjacentHTML("afterBegin", "<InfoLight:WebDataSource ID=\"" + Name + "\" runat=\"server\" SelectAlias=\"" + FClientData.Owner.SelectedAlias + "\" SelectCommand=\"" + cmd + "\" CacheDataSet=\"True\"></InfoLight:WebDataSource>");
                    else
                        form.insertAdjacentHTML("afterBegin", "<InfoLight:WebDataSource ID=\"" + Name + "\" runat=\"server\" SelectAlias=\"" + FClientData.Owner.SelectedAlias + "\" SelectCommand=\"" + cmd + "\"></InfoLight:WebDataSource>");
                }
            }
            return Name;
            #else
            WebDataSource aWebDataSource = new WebDataSource();
            InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType);
            aInfoCommand.Connection = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, true);
            //aInfoCommand.Connection = FClientData.Owner.GlobalConnection;
            IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand);
            //SYS_REFVAL
            if (Kind == "RefVal")
            {
                if (FSYS_REFVAL != null)
                    FSYS_REFVAL.Dispose();
                FSYS_REFVAL = new DataSet();
                aInfoCommand.CommandText = String.Format("Select * from SYS_REFVAL where REFVAL_NO = '{0}'", FieldItem.RefValNo);
                WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, FSYS_REFVAL, FieldItem.RefValNo);
                aWebDataSource.SelectAlias = FSYS_REFVAL.Tables[0].Rows[0]["SELECT_ALIAS"].ToString();
                aWebDataSource.SelectCommand = FSYS_REFVAL.Tables[0].Rows[0]["SELECT_COMMAND"].ToString();
            }
            //WebDropDownList
            else if (Kind == "ComboBox")
            {
                string type = FindSystemDBType("SystemDB");

                aWebDataSource.SelectAlias = FClientData.Owner.SelectedAlias;
                if (type == "1")
                    aWebDataSource.SelectCommand = String.Format("Select * from [{0}]", FieldItem.ComboEntityName);
                else if (type == "2")
                    aWebDataSource.SelectCommand = String.Format("Select * from [{0}]", FieldItem.ComboEntityName);
                else if (type == "3")
                    aWebDataSource.SelectCommand = String.Format("Select * from {0}", FieldItem.ComboEntityName);
                else if (type == "4")
                    aWebDataSource.SelectCommand = String.Format("Select * from {0}", FieldItem.ComboEntityName);
                else if (type == "5")
                    aWebDataSource.SelectCommand = String.Format("Select * from {0}", FieldItem.ComboEntityName);
            }
            aWebDataSource.ID = Name;
            if (isAjaxControl)
            {
                aWebDataSource.CacheDataSet = true;
            }
            if (!isExist)
                FWebDataSourceList.Add(aWebDataSource);
            return aWebDataSource.ID;
            #endif
        }
示例#5
0
        private void GenMainBlockControl_2(TBlockItem BlockItem)
        {
            #if VS90
            object oMaster = FDesignerDocument.webControls.item("Master", 0);

            WebDevPage.IHTMLElement eMaster = null;
            WebDevPage.IHTMLElement eWebDetailView1 = null;

            if (oMaster == null || !(oMaster is WebDevPage.IHTMLElement))
                return;
            eMaster = (WebDevPage.IHTMLElement)oMaster;
            eMaster.setAttribute("AutoApply", "true", 0);

            BlockItem.wDataSource = new WebDataSource();
            string mastertablename = string.Empty;
            if (eMaster != null)
            {
                mastertablename = FClientData.ProviderName.Split('.')[1];
                eMaster.setAttribute("DataMember", mastertablename, 0);
            }
            WebDefault Default = new WebDefault();
            Default.ID = "wd" + WzdUtils.RemoveSpecialCharacters(BlockItem.TableName);
            Default.DataSourceID = eMaster.getAttribute("ID", 0).ToString();
            Default.DataMember = mastertablename;

            WebValidate Validate = new WebValidate();
            Validate.ID = "wv" + WzdUtils.RemoveSpecialCharacters(BlockItem.TableName);
            Validate.DataSourceID = eMaster.getAttribute("ID", 0).ToString();
            Validate.DataMember = mastertablename;

            WebQueryFiledsCollection QueryFields = new WebQueryFiledsCollection(null, typeof(QueryField));
            WebQueryColumnsCollection QueryColumns = new WebQueryColumnsCollection(null, typeof(QueryColumns));
            foreach (TBlockFieldItem fielditem in BlockItem.BlockFieldItems)
            {
                GenDefault(fielditem, Default, Validate);
                GenQuery(fielditem, QueryFields, QueryColumns, BlockItem.TableName);
            }

            WebDevPage.IHTMLElement Page = FDesignerDocument.pageContentElement;
            InsertControl(Page, Default);
            InsertControl(Page, Validate);

            foreach (TBlockFieldItem fielditem in BlockItem.BlockFieldItems)
            {
                foreach (WebQueryColumns wqc in QueryColumns)
                {
                    if (wqc.ColumnType == "ClientQueryRefValColumn" && wqc.Column == fielditem.DataField && fielditem.RefValNo != String.Empty)
                    {
                        WebDataSource aWebDataSource = new WebDataSource();
                        InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType);
                        aInfoCommand.Connection = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, true);
                        //aInfoCommand.Connection = FClientData.Owner.GlobalConnection;
                        IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand);
                        if (FSYS_REFVAL != null)
                            FSYS_REFVAL.Dispose();
                        FSYS_REFVAL = new DataSet();
                        aInfoCommand.CommandText = String.Format("Select * from SYS_REFVAL where REFVAL_NO = '{0}'", fielditem.RefValNo);
                        WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, FSYS_REFVAL, fielditem.RefValNo);

                        WebRefVal aWebRefVal = new WebRefVal();
                        aWebRefVal.ID = wqc.WebRefVal;
                        aWebRefVal.DataTextField = FSYS_REFVAL.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString();
                        aWebRefVal.DataValueField = FSYS_REFVAL.Tables[0].Rows[0]["VALUE_MEMBER"].ToString();
                        aWebRefVal.DataSourceID = String.Format("wds{0}{1}", WzdUtils.RemoveSpecialCharacters(BlockItem.TableName), wqc.Column);
                        aWebRefVal.Visible = false;
                        InsertControl(Page, aWebRefVal);
                        break;
                    }
                    else if (wqc.ColumnType == "ClientQueryComboBoxColumn" && wqc.Column == fielditem.DataField
                            && !String.IsNullOrEmpty(fielditem.ComboTextField) && !String.IsNullOrEmpty(fielditem.ComboValueField))
                    {
                        WebRefVal aWebRefVal = new WebRefVal();
                        aWebRefVal.ID = wqc.WebRefVal;
                        aWebRefVal.DataTextField = fielditem.ComboTextField;
                        aWebRefVal.DataValueField = fielditem.ComboValueField;
                        aWebRefVal.DataSourceID = String.Format("wds{0}{1}", fielditem.ComboEntityName, wqc.Column);
                        aWebRefVal.Visible = false;
                        InsertControl(Page, aWebRefVal);
                        break;
                    }
                }
            }

            WebDevPage.IHTMLElement Navigator = (WebDevPage.IHTMLElement)FDesignerDocument.webControls.item("WebNavigator1", 0);
            if (Navigator != null)
            {
                SetCollectionValue(Navigator, typeof(WebNavigator).GetProperty("QueryFields"), QueryFields);
            }
            WebDevPage.IHTMLElement ClientQuery = (WebDevPage.IHTMLElement)FDesignerDocument.webControls.item("WebClientQuery1", 0);
            if (ClientQuery != null)
            {
                SetCollectionValue(ClientQuery, typeof(WebClientQuery).GetProperty("Columns"), QueryColumns);
            }

            object oWebDetailView1 = FDesignerDocument.webControls.item("wdvMaster", 0);
            eWebDetailView1 = (WebDevPage.IHTMLElement)oWebDetailView1;
            //eWebDetailView1.setAttribute("DataMember", FClientData.TableName, 0);
            //这里本来想再往下找Columns节点的,可是找不到,只能先这样写了
            StringBuilder sb = new StringBuilder(eWebDetailView1.innerHTML);
            int idx = eWebDetailView1.innerHTML.IndexOf("<EmptyDataRowStyle ForeColor=\"Black\" />");
            sb.Insert(idx, "<Fields>\r\n            </Fields>\r\n            ");
            eWebDetailView1.innerHTML = sb.ToString();
            idx = eWebDetailView1.innerHTML.IndexOf("</Fields>");
            List<string> KeyFields = new List<string>();
            foreach (TBlockFieldItem BFI in BlockItem.BlockFieldItems)
            {
                idx = sb.ToString().IndexOf("</Fields>");
                if (BFI.ControlType == "RefValBox" && String.IsNullOrEmpty(BFI.RefValNo))
                    BFI.ControlType = "TextBox";
                if (BFI.ControlType == "ComboBox" && (String.IsNullOrEmpty(BFI.ComboRemoteName)
                                                    || String.IsNullOrEmpty(BFI.ComboTextField)
                                                    || String.IsNullOrEmpty(BFI.ComboValueField)))
                    BFI.ControlType = "TextBox";
                if (!string.IsNullOrEmpty(BFI.RefValNo) || BFI.RefField != null)
                {
                    sb.Insert(idx, GenDetailViewTemplateFieldHTML(BFI.ControlType, BlockItem, BFI));
                }
                else if (BFI.ControlType == "ComboBox" || BFI.ControlType == "ValidateBox" || BFI.ControlType == "CheckBox")
                {
                    sb.Insert(idx, GenDetailViewTemplateFieldHTML(BFI.ControlType, BlockItem, BFI));
                }
                else
                {
                    if (BFI.DataType == typeof(DateTime) || (BFI.ControlType != null && BFI.ControlType == "DateTimeBox"))
                    {
                        sb.Insert(idx, GenDetailViewTemplateFieldHTML("DateTimeBox", BlockItem, BFI));
                    }
                    else
                    {
                        sb.Insert(idx, "\r            <asp:BoundField DataField=\"" + BFI.DataField + "\" HeaderText=\"" + (string.IsNullOrEmpty(BFI.Description) ? BFI.DataField : BFI.Description) + "\" SortExpression=\"" + BFI.DataField + "\" />\r\n            ");
                    }
                }
            }
            eWebDetailView1.innerHTML = sb.ToString();
            #else
            bool isAjaxPage = false;
            if (FPage.FindControl("AjaxScriptManager1") != null)
                isAjaxPage = true;

            WebDataSource Master = (WebDataSource)FPage.FindControl("Master");
            Master.AutoApply = true;
            BlockItem.wDataSource = Master;
            WebDetailsView wdvMaster = (WebDetailsView)FPage.FindControl("wdvMaster");

            //Generate RESX
            //???GenResx(Master);

            //wdvMaster.DataMember = FClientData.TableName;
            //???WebGridView1.Columns.Clear();
            System.Web.UI.WebControls.BoundField aBoundField = null;
            System.Web.UI.WebControls.TemplateField aTemplateField = null;
            WebDefault aDefault = new WebDefault();
            aDefault.ID = "wd" + BlockItem.TableName;
            aDefault.DataSourceID = Master.ID;
            aDefault.DataMember = Master.DataMember;
            WebValidate aValidate = new WebValidate();
            aValidate.ID = "wv" + BlockItem.TableName;
            aValidate.DataSourceID = Master.ID;
            aValidate.DataMember = Master.DataMember;
            List<string> KeyFields = new List<string>();
            foreach (TBlockFieldItem BFI in BlockItem.BlockFieldItems)
            {
                if ((BFI.RefValNo != null && BFI.RefValNo != "") || BFI.RefField != null)
                {
                    String DataSourceID = GenWebDataSource(BFI, BlockItem.TableName, "RefVal", "");
                    aTemplateField = new System.Web.UI.WebControls.TemplateField();
                    aTemplateField.HeaderText = BFI.Description;
                    aTemplateField.SortExpression = BFI.DataField;
                    if (aTemplateField.HeaderText == "")
                        aTemplateField.HeaderText = BFI.DataField;
                    aTemplateField.EditItemTemplate = new WebControlTemplate("WebGridViewRefValEditItemTemplate", BFI, BlockItem.TableName, DataSourceID, FClientData.Owner.GlobalConnection, FWebRefValList, FClientData.DatabaseType, null);
                    aTemplateField.ItemTemplate = new WebControlTemplate("WebGridViewRefValItemTemplate", BFI, BlockItem.TableName, DataSourceID, FClientData.Owner.GlobalConnection, FWebRefValList, FClientData.DatabaseType, null);
                    aTemplateField.InsertItemTemplate = new WebControlTemplate("DetailsViewRefValInsertItemTemplate", BFI, BlockItem.TableName, DataSourceID, FClientData.Owner.GlobalConnection, FWebRefValList, FClientData.DatabaseType, null);
                    wdvMaster.Fields.Add(aTemplateField);
                }
                else if (BFI.ControlType == "ComboBox")
                {
                    String DataSourceID = GenWebDataSource(BFI, BFI.ComboEntityName, "ComboBox", "");
                    aTemplateField = new System.Web.UI.WebControls.TemplateField();
                    aTemplateField.HeaderText = BFI.Description;
                    aTemplateField.SortExpression = BFI.DataField;
                    if (aTemplateField.HeaderText == "")
                        aTemplateField.HeaderText = BFI.DataField;
                    aTemplateField.EditItemTemplate = new WebControlTemplate("WebGridViewComboBoxEditItemTemplate", BFI, BlockItem.TableName, DataSourceID, FMyWebDropDownList, FLabelList);
                    aTemplateField.ItemTemplate = new WebControlTemplate("WebGridViewComboBoxItemTemplate", BFI, BlockItem.TableName, DataSourceID, FMyWebDropDownList, FLabelList);
                    aTemplateField.FooterTemplate = new WebControlTemplate("WebGridViewComboBoxFooterItemTemplate", BFI, BlockItem.TableName, DataSourceID, FMyWebDropDownList, FLabelList);
                    aTemplateField.InsertItemTemplate = new WebControlTemplate("DetailsViewComboBoxInsertItemTemplate", BFI, BlockItem.TableName, DataSourceID, FMyWebDropDownList, FLabelList);
                    wdvMaster.Fields.Add(aTemplateField);
                }
                else if (BFI.ControlType == "ValidateBox")
                {
                    aTemplateField = new System.Web.UI.WebControls.TemplateField();
                    aTemplateField.HeaderText = BFI.Description;
                    aTemplateField.SortExpression = BFI.DataField;
                    if (aTemplateField.HeaderText == "")
                        aTemplateField.HeaderText = BFI.DataField;
                    aTemplateField.EditItemTemplate = new WebControlTemplate("WebGridViewValidateBoxEditItemTemplate", BFI, BlockItem.TableName, aValidate, FWebValidateBoxList, FLabelList);
                    aTemplateField.InsertItemTemplate = new WebControlTemplate("DetailsViewValidateBoxInsertItemTemplate", BFI, BlockItem.TableName, aValidate, FWebValidateBoxList, FLabelList);
                    aTemplateField.ItemTemplate = new WebControlTemplate("WebGridViewValidateBoxItemTemplate", BFI, BlockItem.TableName, aValidate, FWebValidateBoxList, FLabelList);
                    aTemplateField.FooterTemplate = new WebControlTemplate("WebGridViewValidateBoxInsertItemTemplate", BFI, BlockItem.TableName, aValidate, FWebValidateBoxList, FLabelList);
                    wdvMaster.Fields.Add(aTemplateField);
                }
                else if (BFI.ControlType == "CheckBox")
                {
                    aTemplateField = new System.Web.UI.WebControls.TemplateField();
                    aTemplateField.HeaderText = BFI.Description;
                    aTemplateField.SortExpression = BFI.DataField;
                    if (aTemplateField.HeaderText == "")
                        aTemplateField.HeaderText = BFI.DataField;
                    aTemplateField.EditItemTemplate = new WebControlTemplate("WebGridViewCheckBoxEditItemTemplate", BFI, BlockItem.TableName, FWebCheckBoxList, FLabelList);
                    aTemplateField.InsertItemTemplate = new WebControlTemplate("DetailsViewCheckBoxInsertItemTemplate", BFI, BlockItem.TableName, FWebCheckBoxList, FLabelList);
                    aTemplateField.ItemTemplate = new WebControlTemplate("WebGridViewCheckBoxItemTemplate", BFI, BlockItem.TableName, FWebCheckBoxList, FLabelList);
                    aTemplateField.FooterTemplate = new WebControlTemplate("WebGridViewCheckBoxInsertItemTemplate", BFI, BlockItem.TableName, FWebCheckBoxList, FLabelList);
                    wdvMaster.Fields.Add(aTemplateField);
                }
                else
                {
                    if (BFI.DataType == typeof(DateTime) || (BFI.ControlType != null && BFI.ControlType.ToUpper() == "DATETIMEBOX"))
                    {
                        aTemplateField = new System.Web.UI.WebControls.TemplateField();
                        aTemplateField.HeaderText = BFI.Description;
                        aTemplateField.SortExpression = BFI.DataField;
                        if (aTemplateField.HeaderText == "")
                            aTemplateField.HeaderText = BFI.DataField;
                        aTemplateField.EditItemTemplate = new WebControlTemplate("WebGridViewDateTimeEditItemTemplate", BFI, BlockItem.TableName, FWebDateTimePickerList, FLabelList, null);
                        aTemplateField.ItemTemplate = new WebControlTemplate("WebGridViewDateTimeItemTemplate", BFI, BlockItem.TableName, FWebDateTimePickerList, FLabelList, null);
                        aTemplateField.FooterTemplate = new WebControlTemplate("WebGridViewDateTimeFooterItemTemplate", BFI, BlockItem.TableName, FWebDateTimePickerList, FLabelList, null);
                        aTemplateField.InsertItemTemplate = new WebControlTemplate("DetailsViewDateTimeInsertItemTemplate", BFI, BlockItem.TableName, FWebDateTimePickerList, FLabelList, null);
                        wdvMaster.Fields.Add(aTemplateField);
                    }
                    else
                    {
                        if (BFI.EditMask != null && BFI.EditMask != String.Empty)
                        {
                            aTemplateField = new System.Web.UI.WebControls.TemplateField();
                            aTemplateField.HeaderText = BFI.Description;
                            aTemplateField.SortExpression = BFI.DataField;
                            if (aTemplateField.HeaderText == "")
                                aTemplateField.HeaderText = BFI.DataField;
                            aTemplateField.EditItemTemplate = new WebControlTemplate("WebGridViewTextBoxEditItemTemplate", BFI, BlockItem.TableName, FWebTextBoxList, FLabelList, null);
                            aTemplateField.ItemTemplate = new WebControlTemplate("WebGridViewTextBoxItemTemplate", BFI, BlockItem.TableName, FWebTextBoxList, FLabelList, null);
                            aTemplateField.FooterTemplate = new WebControlTemplate("WebGridViewTextBoxFooterItemTemplate", BFI, BlockItem.TableName, FWebTextBoxList, FLabelList, null);
                            aTemplateField.InsertItemTemplate = new WebControlTemplate("DetailsViewTextBoxInsertItemTemplate", BFI, BlockItem.TableName, FWebTextBoxList, FLabelList, null);
                            wdvMaster.Fields.Add(aTemplateField);
                        }
                        else
                        {
                            aBoundField = new System.Web.UI.WebControls.BoundField();
                            aBoundField.DataField = BFI.DataField;
                            aBoundField.SortExpression = BFI.DataField;
                            aBoundField.HeaderText = BFI.Description;
                            aBoundField.HeaderStyle.Width = 150;//BFI.Length * ColumnWidthPixel;
                            if (aBoundField.HeaderText == "")
                                aBoundField.HeaderText = BFI.DataField;
                            wdvMaster.Fields.Add(aBoundField);
                        }
                    }
                }

                if (BFI.IsKey)
                    KeyFields.Add(BFI.DataField);

                CreateQueryField(BFI, "", null, BlockItem.TableName);

                GenDefault(BFI, aDefault, aValidate);
            }

            DataTable DT = FWizardDataSet.RealDataSet.Tables[0];
            DataColumn[] PrimDc = DT.PrimaryKey;
            string[] AA = new string[PrimDc.Length];
            for (int J = 0; J < PrimDc.Length; J++)
                AA[J] = PrimDc[J].ColumnName;
            /*
            wdvMaster.DataKeyNames = new string[AA.Length];
            for (int I = 0; I < AA.Length; I++)
            {
                wdvMaster.DataKeyNames[I] = AA[I];
            }
             */
            FWebDefaultList.Add(aDefault);
            FWebValidateList.Add(aValidate);
            IComponentChangeService FComponentChangeService = (IComponentChangeService)FDesignerHost.RootComponent.Site.GetService(typeof(IComponentChangeService));
            NotifyRefresh(200);
            FComponentChangeService.OnComponentChanged(wdvMaster, null, "", "M");
            #endif
        }
示例#6
0
        private void CreateQueryField(TBlockFieldItem aFieldItem, String Range, InfoComboBox aComboBox, String TableName)
        {
            if (aFieldItem.QueryMode == null)
                return;
            WebNavigator navigator2 = FPage.FindControl("WebNavigator1") as WebNavigator;
            if (navigator2 != null)
            {
                if (aFieldItem.QueryMode.ToUpper() == "NORMAL" || aFieldItem.QueryMode.ToUpper() == "RANGE")
                {
                    WebQueryField qField = new WebQueryField();
                    qField.FieldName = aFieldItem.DataField;
                    qField.Caption = aFieldItem.Description;
                    if (qField.Caption == "")
                        qField.Caption = aFieldItem.DataField;
                    if (aFieldItem.QueryMode.ToUpper() == "NORMAL")
                    {
                        if (aFieldItem.DataType == typeof(DateTime))
                            qField.Condition = "=";
                        if (aFieldItem.DataType == typeof(int) || aFieldItem.DataType == typeof(float) ||
                            aFieldItem.DataType == typeof(double) || aFieldItem.DataType == typeof(Int16))
                            qField.Condition = "=";
                        if (aFieldItem.DataType == typeof(String))
                            qField.Condition = "%";
                    }
                    if (aFieldItem.QueryMode.ToUpper() == "RANGE")
                    {
                        if (Range == "")
                        {
                            qField.Condition = "<=";
                            CreateQueryField(aFieldItem, ">=", aComboBox, TableName);
                        }
                        else
                        {
                            qField.Condition = Range;
                        }
                        navigator2.QueryMode = WebNavigator.QueryModeType.ClientQuery;
                    }
                    switch (aFieldItem.ControlType.ToUpper())
                    {
                        case "TEXTBOX":
                            qField.Mode = "TextBox";
                            break;
                        case "COMBOBOX":
                            qField.Mode = "ComboBox";
                            qField.RefVal = "wrv" + TableName + aFieldItem.DataField + "QF";
                            break;
                        case "REFVALBOX":
                            qField.Mode = "RefVal";
                            qField.RefVal = "wrv" + TableName + aFieldItem.DataField + "QF";
                            break;
                        case "DATETIMEBOX":
                            qField.Mode = "Calendar";
                            break;
                    }
                    navigator2.QueryFields.Add(qField);
                }
                IComponentChangeService FComponentChangeService = (IComponentChangeService)FDesignerHost.RootComponent.Site.GetService(typeof(IComponentChangeService));
                NotifyRefresh(200);
                FComponentChangeService.OnComponentChanged(navigator2, null, "", "M");
            }

            WebClientQuery WebClientQuery1 = (WebClientQuery)FPage.FindControl("WebClientQuery1");
            if (WebClientQuery1 != null)
            {
                if (aFieldItem.QueryMode.ToUpper() == "NORMAL" || aFieldItem.QueryMode.ToUpper() == "RANGE")
                {
                    WebQueryColumns qColumns = new WebQueryColumns();
                    qColumns.Column = aFieldItem.DataField;
                    qColumns.Caption = aFieldItem.Description;
                    if (qColumns.Caption == "")
                        qColumns.Caption = aFieldItem.DataField;
                    qColumns.Condition = "And";
                    if (aFieldItem.QueryMode.ToUpper() == "NORMAL")
                    {
                        if (aFieldItem.DataType == typeof(DateTime))
                            qColumns.Operator = "=";
                        if (aFieldItem.DataType == typeof(int) || aFieldItem.DataType == typeof(float) ||
                            aFieldItem.DataType == typeof(double) || aFieldItem.DataType == typeof(Int16))
                            qColumns.Operator = "=";
                        if (aFieldItem.DataType == typeof(String))
                            qColumns.Operator = "%";
                    }
                    if (aFieldItem.QueryMode.ToUpper() == "RANGE")
                    {
                        qColumns.Condition = "And";
                        if (Range == "")
                        {
                            qColumns.Operator = "<=";
                            CreateQueryField(aFieldItem, ">=", aComboBox, TableName);
                        }
                        else
                        {
                            qColumns.Operator = Range;
                        }
                    }
                    switch (aFieldItem.ControlType.ToUpper())
                    {
                        case "TEXTBOX":
                            qColumns.ColumnType = "ClientQueryTextBoxColumn";
                            break;
                        case "COMBOBOX":
                            qColumns.ColumnType = "ClientQueryComboBoxColumn";
                            qColumns.WebRefVal = "wrv" + TableName + aFieldItem.DataField + "QF";
                            break;
                        case "REFVALBOX":
                            qColumns.ColumnType = "ClientQueryRefValColumn";
                            qColumns.WebRefVal = "wrv" + TableName + aFieldItem.DataField + "QF";

                            WebDataSource aWebDataSource = new WebDataSource();
                            InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType);
                            aInfoCommand.Connection = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, true);
                            //aInfoCommand.Connection = FClientData.Owner.GlobalConnection;
                            IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand);
                            if (FSYS_REFVAL != null)
                                FSYS_REFVAL.Dispose();
                            FSYS_REFVAL = new DataSet();
                            aInfoCommand.CommandText = String.Format("Select * from SYS_REFVAL where REFVAL_NO = '{0}'", aFieldItem.RefValNo);
                            WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, FSYS_REFVAL, aFieldItem.RefValNo);

                            WebRefVal aWebRefVal = new WebRefVal();
                            aWebRefVal.ID = qColumns.WebRefVal;
                            aWebRefVal.DataTextField = FSYS_REFVAL.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString();
                            aWebRefVal.DataValueField = FSYS_REFVAL.Tables[0].Rows[0]["VALUE_MEMBER"].ToString();
                            aWebRefVal.DataSourceID = String.Format("wds{0}{1}", TableName, aFieldItem.DataField);
                            aWebRefVal.Visible = false;
                            FWebRefValListPage.Add(aWebRefVal);
                            break;
                        case "DATETIMEBOX":
                            qColumns.ColumnType = "ClientQueryCalendarColumn";
                            break;
                        case "CHECKBOX":
                            qColumns.ColumnType = "ClientQueryCheckBoxColumn";
                            break;
                    }
                    WebClientQuery1.Columns.Add(qColumns);
                }
                IComponentChangeService FComponentChangeService = (IComponentChangeService)FDesignerHost.RootComponent.Site.GetService(typeof(IComponentChangeService));
                NotifyRefresh(200);
                FComponentChangeService.OnComponentChanged(WebClientQuery1, null, "", "M");
            }
        }
示例#7
0
 private DataSet GetDD()
 {
     WebDataSource webdataSource = new WebDataSource();
     webdataSource.SelectAlias = DBAlias;
     webdataSource.SelectCommand = CommandText;
     string strRemoteModule = wds.RemoteName;
     webdataSource.RemoteName = strRemoteModule;
     if (!string.IsNullOrEmpty(webdataSource.RemoteName))
     {
         webdataSource.DataMember = webdataSource.RemoteName.Split('.')[1];
     }
     DataSet ds = DBUtils.GetDataDictionary(webdataSource, false);
     return ds;
 }
示例#8
0
        private void GenMainBlockControl_3(TBlockItem blockItem, String formViewName)
        {
            WebDevPage.IHTMLElement Master = (WebDevPage.IHTMLElement)FDesignerDocument.webControls.item("Master", 0);
            string mastertablename = string.Empty;
            if (Master != null)
            {
                mastertablename = FClientData.ProviderName.Split('.')[1];
                Master.setAttribute("DataMember", mastertablename, 0);
                if (formViewName == "wfvMaster")
                {
                    Master.setAttribute("AutoApply", "true", 0);
                }
            }
            blockItem.wDataSource = new WebDataSource();
            WebDevPage.IHTMLElement Page = FDesignerDocument.pageContentElement;

            WebDefault Default = new WebDefault();
            Default.ID = "wd" + blockItem.TableName;
            Default.DataSourceID = Master.getAttribute("ID", 0).ToString();
            Default.DataMember = mastertablename;

            WebValidate Validate = new WebValidate();
            Validate.ID = "wv" + blockItem.TableName;
            Validate.DataSourceID = Master.getAttribute("ID", 0).ToString();
            Validate.DataMember = mastertablename;

            WebQueryFiledsCollection QueryFields = new WebQueryFiledsCollection(null, typeof(QueryField));
            WebQueryColumnsCollection QueryColumns = new WebQueryColumnsCollection(null, typeof(QueryColumns));
            foreach (TBlockFieldItem fielditem in blockItem.BlockFieldItems)
            {
                //GenDefault(fielditem, Default, Validate);
                GenQuery(fielditem, QueryFields, QueryColumns, blockItem.TableName);
            }

            InsertControl(Page, Default);
            InsertControl(Page, Validate);

            foreach (TBlockFieldItem fielditem in blockItem.BlockFieldItems)
            {
                foreach (WebQueryColumns wqc in QueryColumns)
                {
                    if (wqc.ColumnType == "ClientQueryRefValColumn" && wqc.Column == fielditem.DataField)
                    {
                        WebDataSource aWebDataSource = new WebDataSource();
                        InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType);
                        aInfoCommand.Connection = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, true);
                        //aInfoCommand.Connection = FClientData.Owner.GlobalConnection;
                        IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand);
                        if (FSYS_REFVAL != null)
                            FSYS_REFVAL.Dispose();
                        FSYS_REFVAL = new DataSet();
                        aInfoCommand.CommandText = String.Format("Select * from SYS_REFVAL where REFVAL_NO = '{0}'", fielditem.RefValNo);
                        WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, FSYS_REFVAL, fielditem.RefValNo);

                        WebRefVal aWebRefVal = new WebRefVal();
                        aWebRefVal.ID = wqc.WebRefVal;
                        aWebRefVal.DataTextField = FSYS_REFVAL.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString();
                        aWebRefVal.DataValueField = FSYS_REFVAL.Tables[0].Rows[0]["VALUE_MEMBER"].ToString();
                        aWebRefVal.DataSourceID = String.Format("wds{0}{1}", blockItem.TableName, wqc.Column);
                        aWebRefVal.Visible = false;
                        InsertControl(Page, aWebRefVal);
                        break;
                    }
                }
            }

            WebDevPage.IHTMLElement Navigator = (WebDevPage.IHTMLElement)FDesignerDocument.webControls.item("WebNavigator1", 0);
            if (Navigator != null)
            {
                SetCollectionValue(Navigator, typeof(WebNavigator).GetProperty("QueryFields"), QueryFields);
            }
            WebDevPage.IHTMLElement ClientQuery = (WebDevPage.IHTMLElement)FDesignerDocument.webControls.item("WebClientQuery1", 0);
            if (ClientQuery != null)
            {
                SetCollectionValue(ClientQuery, typeof(WebClientQuery).GetProperty("Columns"), QueryColumns);
            }
            //刷不了Schema所以直接用写的

            WebDevPage.IHTMLElement FormView = (WebDevPage.IHTMLElement)FDesignerDocument.webControls.item(formViewName, 0);
            if (FormView != null)
            {
                RefreshFormView(FormView, blockItem);
            }
            WebDevPage.IHTMLElement AjaxFromView1 = (WebDevPage.IHTMLElement)FDesignerDocument.webControls.item("AjaxFormView1", 0);
            if (AjaxFromView1 != null)
            {
                AjaxTools.AjaxFormFieldCollection aAjaxFormFieldCollection = new AjaxTools.AjaxFormFieldCollection(new AjaxTools.AjaxFormView(), typeof(AjaxTools.AjaxFormField));
                DataTable srcTable = FWizardDataSet.RealDataSet.Tables[blockItem.TableName];
                bool flag = true;
                foreach (TBlockFieldItem BFI in blockItem.BlockFieldItems)
                {
                    AjaxTools.AjaxFormField extCol = new AjaxTools.AjaxFormField();
                    if (BFI.CheckNull == "Y")
                        extCol.AllowNull = false;
                    else
                        extCol.AllowNull = true;
                    if (BFI.Description != null && BFI.Description != String.Empty)
                        extCol.Caption = BFI.Description;
                    else
                        extCol.Caption = BFI.DataField;
                    extCol.DataField = BFI.DataField;
                    extCol.DefaultValue = BFI.DefaultValue;
                    extCol.EditControlId = null;
                    extCol.FieldControlId = string.Format("ctrl{0}", BFI.DataField);
                    extCol.IsKeyField = IsKeyField(BFI.DataField, srcTable.PrimaryKey);
                    extCol.NewLine = flag;
                    //extCol.Resizable = true;
                    //extCol.TextAlign = "left";
                    //extCol.Visible = true;
                    extCol.Width = 140;
                    if ((BFI.RefValNo != null && BFI.RefValNo != "") || BFI.RefField != null)
                    {
                        String DataSourceID = GenWebDataSource(BFI, blockItem.TableName, "RefVal", "", true);
                        String extComboBox = GenExtComboBox(BFI, blockItem.TableName, "ExtRefVal", "", DataSourceID);
                        try
                        {
                            String str = AjaxFromView1.innerHTML;
                        }
                        catch
                        {
                            AjaxFromView1 = (WebDevPage.IHTMLElement)FDesignerDocument.webControls.item("AjaxFormView1", 0);
                        }
                        extCol.EditControlId = extComboBox;
                        extCol.Editor = AjaxTools.ExtGridEditor.ComboBox;
                    }
                    else if (BFI.ControlType == "ComboBox")
                    {
                        String DataSourceID = GenWebDataSource(BFI, BFI.ComboEntityName, "ComboBox", "", true);
                        String extComboBox = GenExtComboBox(BFI, blockItem.TableName, "ExtComboBox", "", DataSourceID);
                        try
                        {
                            String str = AjaxFromView1.innerHTML;
                        }
                        catch
                        {
                            AjaxFromView1 = (WebDevPage.IHTMLElement)FDesignerDocument.webControls.item("AjaxFormView1", 0);
                        } extCol.EditControlId = extComboBox;
                        extCol.Editor = AjaxTools.ExtGridEditor.ComboBox;
                    }
                    this.FieldTypeSelector(BFI.DataType, extCol, BFI.ControlType);
                    aAjaxFormFieldCollection.Add(extCol);
                    flag = !flag;
                }

                SetCollectionValue(AjaxFromView1, typeof(AjaxTools.AjaxFormView).GetProperty("Fields"), aAjaxFormFieldCollection);
            }
        }
示例#9
0
        private WebDataSource GetMasterDataSource(WebDataSource owner)
        {
            if (string.IsNullOrEmpty(owner.MasterDataSource))//当前就是Master
            {
                return owner;
            }
            else
            {
                if (owner.MasterDataSource == owner.ID)
                {
                    //MasterDataSource不能是自己本身,会造成死循环
                    throw new EEPException(EEPException.ExceptionType.PropertyInvalid, owner.GetType(), owner.ID,  "MasterDataSource", owner.MasterDataSource);
                }
                Control parent = owner.Parent.FindControl(owner.MasterDataSource);

                if (parent == null)
                {
                    //在Page上找不到MasterDataSrouce
                    throw new EEPException(EEPException.ExceptionType.ControlNotFound, owner.GetType(), owner.ID, "WebDataSource", owner.MasterDataSource);
                }
                else if (parent is WebDataSource)
                {
                    return GetMasterDataSource(parent as WebDataSource);//递归直到最顶层
                }
                else
                {
                    throw new EEPException(EEPException.ExceptionType.ControlTypeNotMatch,owner.GetType(), owner.ID, "WebDataSource", owner.MasterDataSource);
                }
            }
        }
示例#10
0
    private TableRow CreateColumn(int count, DataRow dr)
    {
        CheckBox cbActive = new CheckBox();
        DropDownList ddlCondition = new DropDownList();
        DropDownList ddlColumn = new DropDownList();
        DropDownList dllOperator = new DropDownList();
        TextBox tbValue1 = new TextBox();
        WebDateTimePicker wdtpValue1 = new WebDateTimePicker();
        CheckBox cbValue1 = new CheckBox();
        WebDropDownList wddlValue1 = new WebDropDownList();
        WebRefVal wrvValue1 = new WebRefVal();
        TextBox tbValue1RB = new TextBox();
        WebRefButton wrbValue1 = new WebRefButton();

        TextBox tbValue2 = new TextBox();
        WebDateTimePicker wdtpValue2 = new WebDateTimePicker();
        CheckBox cbValue2 = new CheckBox();
        WebDropDownList wddlValue2 = new WebDropDownList();
        WebRefVal wrvValue2 = new WebRefVal();
        TextBox tbValue2RB = new TextBox();
        WebRefButton wrbValue2 = new WebRefButton();

        TableRow tr = new TableRow();

        TableCell tcActive = new TableCell();
        tcActive.HorizontalAlign = HorizontalAlign.Right;
        tcActive.VerticalAlign = VerticalAlign.Middle;

        //create CheckBoxActive
        cbActive = new CheckBox();
        cbActive.ID = "Web" + count + "AnyQueryActiveCheckBox";
        if (autoDisableColumns == false && !(bool)dr["AutoSelect"])
            cbActive.Checked = false;
        else
            cbActive.Checked = (bool)dr["AutoSelect"];
        cbActive.AutoPostBack = true;
        cbActive.CheckedChanged += new EventHandler(InnerPages_frmAnyQuery_cbActive_CheckedChanged);
        tcActive.Controls.Add(cbActive);

        if (autoDisableColumns == false)
            dr["AutoSelect"] = "True";

        TableCell tcCondition = new TableCell();
        tcCondition.HorizontalAlign = HorizontalAlign.Right;
        tcCondition.VerticalAlign = VerticalAlign.Middle;

        //create ConditionDropDownList
        ddlCondition = new DropDownList();
        ddlCondition.ID = "Web" + count + "AnyQueryConditionDropDownList";
        ddlCondition.Width = 60;
        ddlCondition.Items.Add("AND");
        ddlCondition.Items.Add("OR");
        ddlCondition.Text = dr["Condition"].ToString().ToUpper();
        ddlCondition.Enabled = Convert.ToBoolean(dr["AutoSelect"]);
        tcCondition.Controls.Add(ddlCondition);

        TableCell tcColumn = new TableCell();
        tcColumn.HorizontalAlign = HorizontalAlign.Right;
        tcColumn.VerticalAlign = VerticalAlign.Middle;

        //create ColumnDropDownList
        ddlColumn = new DropDownList();
        ddlColumn.ID = "Web" + count + "AnyQuery" + dr["Column"].ToString();
        alColumn = CreateArrayListColumn();
        for (int j = 0; j < alColumn.Count; j++)
            ddlColumn.Items.Add(alColumn[j].ToString());
        if (ddlColumn.Items.Contains(new ListItem(dr["Caption"].ToString())))
            ddlColumn.Text = dr["Caption"].ToString();
        else
            ddlColumn.Text = dr["Column"].ToString();
        ddlColumn.AutoPostBack = true;
        ddlColumn.Enabled = Convert.ToBoolean(dr["AutoSelect"]);
        ddlColumn.Width = Unit.Pixel(int.Parse(dr["TextWidth"].ToString()));
        ddlColumn.SelectedIndexChanged += new EventHandler(InnerPages_frmAnyQuery_ddlColumn_SelectedIndexChanged);
        tcColumn.Controls.Add(ddlColumn);

        TableCell tcOperator = new TableCell();
        tcOperator.HorizontalAlign = HorizontalAlign.Left;
        tcOperator.VerticalAlign = VerticalAlign.Middle;

        //create OperatDropDownList
        dllOperator = new DropDownList();
        dllOperator.ID = "Web" + count + "AnyQueryOperatorDropDownList";
        ArrayList op = new ArrayList();
        op.AddRange(new String[] { "=", "!=", ">", "<", ">=", "<=", "%**", "**%", "%%", "!%%", "<->", "!<->", "IN", "NOT IN" });
        if (!this.displayAllOperator)
        {
            if (dr["DataType"].ToString() == typeof(Char).ToString() || dr["DataType"].ToString() == typeof(String).ToString())
            {
                op.Clear();
                op.AddRange(new String[] { "=", "!=", "%**", "**%", "%%", "!%%", "IN", "NOT IN" });
            }
            else if (dr["DataType"].ToString() == typeof(int).ToString() || dr["DataType"].ToString() == typeof(float).ToString()
                    || dr["DataType"].ToString() == typeof(double).ToString() || dr["DataType"].ToString() == typeof(DateTime).ToString())
            {
                op.Clear();
                op.AddRange(new String[] { "=", "!=", "<", ">", "<=", ">=", "<->", "!<->", "IN", "NOT IN" });
            }
        }
        for (int j = 0; j < op.Count; j++)
            dllOperator.Items.Add(op[j].ToString());
        if (dr["Operators"].ToString() == "%")
            dllOperator.Text = "**%";
        else
            dllOperator.Text = dr["Operators"].ToString();
        dllOperator.Width = 60;
        dllOperator.AutoPostBack = true;
        dllOperator.Enabled = Convert.ToBoolean(dr["AutoSelect"]);
        dllOperator.SelectedIndexChanged += new EventHandler(InnerPages_frmAnyQuery_dllOperator_SelectedIndexChanged);
        tcOperator.Controls.Add(dllOperator);

        TableCell tcValue1 = new TableCell();
        tcValue1.HorizontalAlign = HorizontalAlign.Left;
        tcValue1.VerticalAlign = VerticalAlign.Middle;

        //create Value
        int dsidnum;
        switch (dr["ColumnType"].ToString())
        {
            case "AnyQueryTextBoxColumn":
                tbValue1 = new TextBox();
                tbValue1.ID = "Web" + count + "AnyQueryValue1TextBox" + dr["Enabled"].ToString();
                tbValue1.Text = dr["DefaultValue"].ToString();
                tbValue1.Width = Unit.Pixel(int.Parse(dr["TextWidth"].ToString()));
                if (Convert.ToBoolean(dr["Enabled"].ToString()) == false)
                    tbValue1.Enabled = Convert.ToBoolean(dr["Enabled"].ToString());
                else
                    tbValue1.Enabled = Convert.ToBoolean(dr["AutoSelect"]);
                tcValue1.Controls.Add(tbValue1);
                break;
            case "AnyQueryComboBoxColumn":
                wddlValue1 = new WebDropDownList();
                wddlValue1.ID = "Web" + count + "AnyQueryValue1WebDropDownList" + dr["Enabled"].ToString();
                wddlValue1.Width = Unit.Pixel(int.Parse(dr["TextWidth"].ToString()));
                if (Convert.ToBoolean(dr["Enabled"].ToString()) == false)
                    wddlValue1.Enabled = Convert.ToBoolean(dr["Enabled"].ToString());
                else
                    wddlValue1.Enabled = Convert.ToBoolean(dr["AutoSelect"]);

                dsidnum = lstDataSetID.IndexOf(dr["RefValDSID"].ToString());
                if (dsidnum >= 0)
                {
                    wddlValue1.DataSourceID = "refvalds" + dsidnum.ToString();
                    if (dr["RefValWhereItem"].ToString() != "")
                    {
                        string filter = WhereItemToFileter(dr["RefValWhereItem"].ToString(), "refvalds" + dsidnum.ToString());
                        (this.FindControl("refvalds" + dsidnum.ToString()) as WebDataSource).SetWhere(filter);
                    }
                    wddlValue1.DataTextField = dr["RefValTF"].ToString();
                    wddlValue1.DataValueField = dr["RefValVF"].ToString();
                    wddlValue1.AppendDataBoundItems = true;
                    wddlValue1.AutoInsertEmptyData = true;
                }
                else if (dr["RefValAlias"].ToString() != String.Empty && dr["RefValCMD"].ToString() != String.Empty)
                {
                    refValDateSourcecmd[cmdIndex] = new WebDataSource();
                    refValDateSourcecmd[cmdIndex].SelectAlias = dr["RefValAlias"].ToString();
                    refValDateSourcecmd[cmdIndex].SelectCommand = dr["RefValCMD"].ToString();
                    refValDateSourcecmd[cmdIndex].ID = "refvalcmd" + cmdIndex.ToString();
                    this.Form.Controls.Add(refValDateSourcecmd[cmdIndex]);
                    wddlValue1.DataSourceID = "refvalcmd" + cmdIndex.ToString();
                    cmdIndex++;
                    wddlValue1.DataTextField = dr["RefValTF"].ToString();
                    wddlValue1.DataValueField = dr["RefValVF"].ToString();
                    wddlValue1.AppendDataBoundItems = true;
                    wddlValue1.AutoInsertEmptyData = true;
                }
                else
                {
                    //String[] item = arrItems.Split('!');
                    //foreach (String temp in item)
                    //    wddlValue1.Items.Add(temp);
                }

                if (string.Compare(keepcondition, "true", true) == 0)//IgnoreCase
                {
                    if (dr["Text"].ToString() != "")
                    {
                        wddlValue1.SelectedValue = dr["Text"].ToString();
                    }
                }
                else
                {
                    try
                    {
                        if (dr["DefaultValue"].ToString() != "")
                        {
                            wddlValue1.SelectedValue = dr["DefaultValue"].ToString();
                        }
                    }
                    catch
                    { }
                }
                tcValue1.Controls.Add(wddlValue1);
                break;
            case "AnyQueryCheckBoxColumn":
                cbValue1 = new CheckBox();
                cbValue1.ID = "Web" + count + "AnyQueryValue1CheckBox" + dr["Enabled"].ToString();
                if (dr["DefaultValue"].ToString() == "1")
                    cbValue1.Checked = true;
                cbValue1.Width = Unit.Pixel(int.Parse(dr["TextWidth"].ToString()));
                if (Convert.ToBoolean(dr["Enabled"].ToString()) == false)
                    cbValue1.Enabled = Convert.ToBoolean(dr["Enabled"].ToString());
                else
                    cbValue1.Enabled = Convert.ToBoolean(dr["AutoSelect"]);
                tcValue1.Controls.Add(cbValue1);
                break;
            case "AnyQueryRefValColumn":
                wrvValue1 = new WebRefVal();
                wrvValue1.ID = "Web" + count + "AnyQueryValue1RefVal" + dr["Enabled"].ToString();
                wrvValue1.Width = Unit.Pixel(int.Parse(dr["TextWidth"].ToString()));

                dsidnum = lstDataSetID.IndexOf(dr["RefValDSID"].ToString());
                if (dsidnum >= 0)
                {
                    wrvValue1.DataSourceID = "refvalds" + dsidnum.ToString();

                    wrvValue1.ResxDataSet = dr["RefValDSID"].ToString();
                    wrvValue1.ResxFilePath = psyPagePath + ".vi-VN.resx";
                }
                else
                {
                    int refCount = cmdIndex;
                    for (int i = 0; i < refValDateSourcecmd.Length; i++)
                    {
                        if (refValDateSourcecmd[i] != null)
                        {
                            if (refValDateSourcecmd[i].SelectAlias == dr["RefValAlias"].ToString()
                            && refValDateSourcecmd[i].SelectCommand == dr["RefValCMD"].ToString()
                            && refValDateSourcecmd[i].ID == "refvalcmd" + i.ToString())
                            {
                                refCount = i;
                                break;
                            }
                        }
                    }

                    refValDateSourcecmd[refCount] = new WebDataSource();
                    refValDateSourcecmd[refCount].SelectAlias = dr["RefValAlias"].ToString();
                    refValDateSourcecmd[refCount].SelectCommand = dr["RefValCMD"].ToString();
                    refValDateSourcecmd[refCount].ID = "refvalcmd" + refCount.ToString();
                    object obj = this.Form.FindControl(refValDateSourcecmd[refCount].ID);
                    if (obj == null)
                        this.Form.Controls.Add(refValDateSourcecmd[refCount]);
                    wrvValue1.DataSourceID = "refvalcmd" + refCount.ToString();
                    cmdIndex++;
                }
                wrvValue1.DataTextField = dr["RefValTF"].ToString();
                wrvValue1.DataValueField = dr["RefValVF"].ToString();
                wrvValue1.CheckData = Convert.ToBoolean(dr["RefValCD"].ToString());

                string[] aSize = dr["RefValSize"].ToString().Split(',');
                if (aSize.Length == 4)
                {
                    wrvValue1.OpenRefHeight = int.Parse(aSize[0]);
                    wrvValue1.OpenRefLeft = int.Parse(aSize[1]);
                    wrvValue1.OpenRefTop = int.Parse(aSize[2]);
                    wrvValue1.OpenRefWidth = int.Parse(aSize[3]);
                }

                #region Add WebRefval other properties
                if (dr["RefValColumnMatch"].ToString() != string.Empty)
                {
                    string[] columnmatch = dr["RefValColumnMatch"].ToString().Split(':');
                    WebColumnMatch[] wcm = new WebColumnMatch[columnmatch.Length];
                    for (int j = 0; j < columnmatch.Length; j++)
                    {
                        string[] columnmatchcontext = columnmatch[j].Split(',');
                        wcm[j] = new WebColumnMatch(columnmatchcontext[1], columnmatchcontext[2], columnmatchcontext[0]);
                        wrvValue1.ColumnMatch.Add(wcm[j]);
                    }
                }
                if (dr["RefValColumns"].ToString() != string.Empty)
                {
                    string[] columns = dr["RefValColumns"].ToString().Split(':');
                    WebRefColumn[] wrc = new WebRefColumn[columns.Length];
                    for (int j = 0; j < columns.Length; j++)
                    {
                        string[] columnscontext = columns[j].Split(',');
                        wrc[j] = new WebRefColumn(columnscontext[0], columnscontext[1], int.Parse(columnscontext[2]));
                        wrvValue1.Columns.Add(wrc[j]);
                    }
                }
                if (dr["RefValWhereItem"].ToString() != string.Empty)
                {
                    string[] whereitem = dr["RefValWhereItem"].ToString().Split(':');
                    WebWhereItem[] wwi = new WebWhereItem[whereitem.Length];
                    for (int j = 0; j < whereitem.Length; j++)
                    {
                        string[] whereitemcontext = whereitem[j].Split(',');
                        wwi[j] = new WebWhereItem(whereitemcontext[1], whereitemcontext[0], whereitemcontext[2]);
                        wrvValue1.WhereItem.Add(wwi[j]);
                    }
                }
                #endregion

                if (string.Compare(keepcondition, "true", true) == 0)//IgnoreCase
                {
                    if (dr["Text"].ToString() != "")
                    {
                        wrvValue1.BindingValue = dr["Text"].ToString();
                    }
                }
                else
                {
                    try
                    {
                        wrvValue1.BindingValue = dr["DefaultValue"].ToString();
                    }
                    catch
                    { }
                }
                if (Convert.ToBoolean(dr["Enabled"].ToString()) == false)
                    wrvValue1.ReadOnly = !Convert.ToBoolean(dr["Enabled"].ToString());
                else
                    wrvValue1.ReadOnly = !Convert.ToBoolean(dr["AutoSelect"]);
                tcValue1.Controls.Add(wrvValue1);
                break;
            case "AnyQueryCalendarColumn":
                wdtpValue1 = new WebDateTimePicker();
                wdtpValue1.ID = "Web" + count + "AnyQueryValue1WebDateTimePicker" + dr["Enabled"].ToString();
                wdtpValue1.Text = dr["DefaultValue"].ToString();
                wdtpValue1.Width = Unit.Pixel(int.Parse(dr["TextWidth"].ToString()));
                wdtpValue1.CheckDate = false;
                wdtpValue1.DateFormat = dateFormat.ShortDate;
                if (Convert.ToBoolean(dr["Enabled"].ToString()) == false)
                    wdtpValue1.Enabled = Convert.ToBoolean(dr["Enabled"].ToString());
                else
                    wdtpValue1.Enabled = Convert.ToBoolean(dr["AutoSelect"]);

                tcValue1.Controls.Add(wdtpValue1);
                break;
            case "AnyQueryRefButtonColumn":
                tbValue1RB.ID = "Web" + count + "AnyQueryValue1WebRefButtonTextBox" + dr["Enabled"].ToString();
                tbValue1RB.Text = dr["DefaultValue"].ToString();
                tbValue1RB.Width = Unit.Pixel(int.Parse(dr["TextWidth"].ToString()));
                if (Convert.ToBoolean(dr["Enabled"].ToString()) == false)
                    tbValue1RB.Enabled = Convert.ToBoolean(dr["Enabled"].ToString());
                else
                    tbValue1RB.Enabled = Convert.ToBoolean(dr["AutoSelect"]);

                wrbValue1.ID = "Web" + count + "AnyQueryValue1WebRefButton" + dr["Enabled"].ToString();
                wrbValue1.Caption = dr["RefButtonCaption"].ToString();
                wrbValue1.RefURL = dr["RefButtonURL"].ToString();
                if (Convert.ToBoolean(dr["Enabled"].ToString()) == false)
                    wrbValue1.Visible = Convert.ToBoolean(dr["Enabled"].ToString());
                else
                    wrbValue1.Visible = Convert.ToBoolean(dr["AutoSelect"]);

                string[] arrsize = dr["RefButtonURLSize"].ToString().Split(',');
                if (arrsize.Length == 4)
                {
                    wrbValue1.RefURLHeight = int.Parse(arrsize[0]);
                    wrbValue1.RefURLLeft = int.Parse(arrsize[1]);
                    wrbValue1.RefURLTop = int.Parse(arrsize[2]);
                    wrbValue1.RefURLWidth = int.Parse(arrsize[3]);
                }

                MatchControl mc = new MatchControl();
                mc.ControlID = "Web" + count + "AnyQueryValue1WebRefButtonTextBox" + dr["Enabled"].ToString();
                wrbValue1.MatchControls.Add(mc);
                tcValue1.Controls.Add(tbValue1RB);
                tcValue1.Controls.Add(wrbValue1);
                break;
        }

        TableCell tcValue2 = new TableCell();
        tcValue2.HorizontalAlign = HorizontalAlign.Left;
        tcValue2.VerticalAlign = VerticalAlign.Middle;
        if (dllOperator.Text == "<->" || dllOperator.Text == "!<->")
        {
            switch (dr["ColumnType"].ToString())
            {
                case "AnyQueryTextBoxColumn":
                    tbValue2 = new TextBox();
                    tbValue2.ID = "Web" + count + "AnyQueryValue2TextBox" + dr["Enabled"].ToString();
                    tbValue2.Text = dr["DefaultValue"].ToString();
                    tbValue2.Width = Unit.Pixel(int.Parse(dr["TextWidth"].ToString()));
                    if (Convert.ToBoolean(dr["Enabled"].ToString()) == false)
                        tbValue2.Enabled = Convert.ToBoolean(dr["Enabled"].ToString());
                    else
                        tbValue2.Enabled = Convert.ToBoolean(dr["AutoSelect"]);

                    tcValue2.Controls.Add(tbValue2);
                    break;
                case "AnyQueryComboBoxColumn":
                    wddlValue2 = new WebDropDownList();
                    wddlValue2.ID = "Web" + count + "AnyQueryValue2WebDropDownList" + dr["Enabled"].ToString();
                    wddlValue2.Width = Unit.Pixel(int.Parse(dr["TextWidth"].ToString()));
                    if (Convert.ToBoolean(dr["Enabled"].ToString()) == false)
                        wddlValue2.Enabled = Convert.ToBoolean(dr["Enabled"].ToString());
                    else
                        wddlValue2.Enabled = Convert.ToBoolean(dr["AutoSelect"]);

                    dsidnum = lstDataSetID.IndexOf(dr["RefValDSID"].ToString());
                    if (dsidnum >= 0)
                    {
                        wddlValue2.DataSourceID = "refvalds" + dsidnum.ToString();
                        if (dr["RefValWhereItem"].ToString() != "")
                        {
                            string filter = WhereItemToFileter(dr["RefValWhereItem"].ToString(), "refvalds" + dsidnum.ToString());
                            (this.FindControl("refvalds" + dsidnum.ToString()) as WebDataSource).SetWhere(filter);
                        }
                        wddlValue2.DataTextField = dr["RefValTF"].ToString();
                        wddlValue2.DataValueField = dr["RefValVF"].ToString();
                        wddlValue2.AppendDataBoundItems = true;
                        wddlValue2.AutoInsertEmptyData = true;
                    }
                    else if (dr["RefValAlias"].ToString() != String.Empty && dr["RefValCMD"].ToString() != String.Empty)
                    {
                        refValDateSourcecmd[cmdIndex] = new WebDataSource();
                        refValDateSourcecmd[cmdIndex].SelectAlias = dr["RefValAlias"].ToString();
                        refValDateSourcecmd[cmdIndex].SelectCommand = dr["RefValCMD"].ToString();
                        refValDateSourcecmd[cmdIndex].ID = "refvalcmd" + cmdIndex.ToString();
                        this.Form.Controls.Add(refValDateSourcecmd[cmdIndex]);
                        wddlValue2.DataSourceID = "refvalcmd" + cmdIndex.ToString();
                        cmdIndex++;
                        wddlValue2.DataTextField = dr["RefValTF"].ToString();
                        wddlValue2.DataValueField = dr["RefValVF"].ToString();
                        wddlValue2.AppendDataBoundItems = true;
                        wddlValue2.AutoInsertEmptyData = true;
                    }
                    else
                    {
                        //String[] item = arrItems.Split('!');
                        //foreach (String temp in item)
                        //    wddlValue2.Items.Add(temp);
                    }

                    if (string.Compare(keepcondition, "true", true) == 0)//IgnoreCase
                    {
                        if (dr["Text"].ToString() != "")
                        {
                            wddlValue2.SelectedValue = dr["Text"].ToString();
                        }
                    }
                    else
                    {
                        try
                        {
                            if (dr["DefaultValue"].ToString() != "")
                            {
                                wddlValue2.SelectedValue = dr["DefaultValue"].ToString();
                            }
                        }
                        catch
                        { }
                    }
                    tcValue2.Controls.Add(wddlValue2);
                    break;
                case "AnyQueryCheckBoxColumn":
                    cbValue2 = new CheckBox();
                    cbValue2.ID = "Web" + count + "AnyQueryValue2CheckBox" + dr["Enabled"].ToString();
                    if (dr["DefaultValue"].ToString() == "1")
                        cbValue2.Checked = true;
                    cbValue2.Width = Unit.Pixel(int.Parse(dr["TextWidth"].ToString()));
                    if (Convert.ToBoolean(dr["Enabled"].ToString()) == false)
                        cbValue2.Enabled = Convert.ToBoolean(dr["Enabled"].ToString());
                    else
                        cbValue2.Enabled = Convert.ToBoolean(dr["AutoSelect"]);
                    tcValue2.Controls.Add(cbValue2);
                    break;
                case "AnyQueryRefValColumn":
                    wrvValue2 = new WebRefVal();
                    wrvValue2.ID = "Web" + count + "AnyQueryValue2RefVal" + dr["Enabled"].ToString();
                    wrvValue2.Width = Unit.Pixel(int.Parse(dr["TextWidth"].ToString()));

                    dsidnum = lstDataSetID.IndexOf(dr["RefValDSID"].ToString());
                    if (dsidnum >= 0)
                    {
                        wrvValue2.DataSourceID = "refvalds" + dsidnum.ToString();

                        wrvValue2.ResxDataSet = dr["RefValDSID"].ToString();
                        wrvValue2.ResxFilePath = psyPagePath + ".vi-VN.resx";
                    }
                    else
                    {
                        refValDateSourcecmd[cmdIndex] = new WebDataSource();
                        refValDateSourcecmd[cmdIndex].SelectAlias = dr["RefValAlias"].ToString();
                        refValDateSourcecmd[cmdIndex].SelectCommand = dr["RefValCMD"].ToString();
                        refValDateSourcecmd[cmdIndex].ID = "refvalcmd" + cmdIndex.ToString();
                        this.Form.Controls.Add(refValDateSourcecmd[cmdIndex]);
                        wrvValue2.DataSourceID = "refvalcmd" + cmdIndex.ToString();
                        cmdIndex++;
                    }
                    wrvValue2.DataTextField = dr["RefValTF"].ToString();
                    wrvValue2.DataValueField = dr["RefValVF"].ToString();
                    wrvValue2.CheckData = Convert.ToBoolean(dr["RefValCD"].ToString());

                    string[] aSize = dr["RefValSize"].ToString().Split(',');
                    if (aSize.Length == 4)
                    {
                        wrvValue2.OpenRefHeight = int.Parse(aSize[0]);
                        wrvValue2.OpenRefLeft = int.Parse(aSize[1]);
                        wrvValue2.OpenRefTop = int.Parse(aSize[2]);
                        wrvValue2.OpenRefWidth = int.Parse(aSize[3]);
                    }

                    #region Add WebRefval other properties
                    if (dr["RefValColumnMatch"].ToString() != string.Empty)
                    {
                        string[] columnmatch = dr["RefValColumnMatch"].ToString().Split(':');
                        WebColumnMatch[] wcm = new WebColumnMatch[columnmatch.Length];
                        for (int j = 0; j < columnmatch.Length; j++)
                        {
                            string[] columnmatchcontext = columnmatch[j].Split(',');
                            wcm[j] = new WebColumnMatch(columnmatchcontext[1], columnmatchcontext[2], columnmatchcontext[0]);
                            wrvValue2.ColumnMatch.Add(wcm[j]);
                        }
                    }
                    if (dr["RefValColumns"].ToString() != string.Empty)
                    {
                        string[] columns = dr["RefValColumns"].ToString().Split(':');
                        WebRefColumn[] wrc = new WebRefColumn[columns.Length];
                        for (int j = 0; j < columns.Length; j++)
                        {
                            string[] columnscontext = columns[j].Split(',');
                            wrc[j] = new WebRefColumn(columnscontext[0], columnscontext[1], int.Parse(columnscontext[2]));
                            wrvValue2.Columns.Add(wrc[j]);
                        }
                    }
                    if (dr["RefValWhereItem"].ToString() != string.Empty)
                    {
                        string[] whereitem = dr["RefValWhereItem"].ToString().Split(':');
                        WebWhereItem[] wwi = new WebWhereItem[whereitem.Length];
                        for (int j = 0; j < whereitem.Length; j++)
                        {
                            string[] whereitemcontext = whereitem[j].Split(',');
                            wwi[j] = new WebWhereItem(whereitemcontext[1], whereitemcontext[0], whereitemcontext[2]);
                            wrvValue2.WhereItem.Add(wwi[j]);
                        }
                    }
                    #endregion

                    if (string.Compare(keepcondition, "true", true) == 0)//IgnoreCase
                    {
                        if (dr["Text"].ToString() != "")
                        {
                            wrvValue2.BindingValue = dr["Text"].ToString();
                        }
                    }
                    else
                    {
                        try
                        {
                            wrvValue2.BindingValue = dr["DefaultValue"].ToString();
                        }
                        catch
                        { }
                    }
                    if (Convert.ToBoolean(dr["Enabled"].ToString()) == false)
                        wrvValue2.ReadOnly = !Convert.ToBoolean(dr["Enabled"].ToString());
                    else
                        wrvValue2.ReadOnly = !Convert.ToBoolean(dr["AutoSelect"]);
                    tcValue2.Controls.Add(wrvValue2);
                    break;
                case "AnyQueryCalendarColumn":
                    wdtpValue2 = new WebDateTimePicker();
                    wdtpValue2.ID = "Web" + count + "AnyQueryValue2WebDateTimePicker" + dr["Enabled"].ToString();
                    wdtpValue2.Text = dr["DefaultValue"].ToString();
                    wdtpValue2.Width = Unit.Pixel(int.Parse(dr["TextWidth"].ToString()));
                    wdtpValue2.DateFormat = dateFormat.ShortDate;
                    if (Convert.ToBoolean(dr["Enabled"].ToString()) == false)
                        wdtpValue2.Enabled = Convert.ToBoolean(dr["Enabled"].ToString());
                    else
                        wdtpValue2.Enabled = Convert.ToBoolean(dr["AutoSelect"]);
                    tcValue2.Controls.Add(wdtpValue2);
                    break;
                case "AnyQueryRefButtonColumn":
                    tbValue2RB.ID = "Web" + count + "AnyQueryValue2WebRefButtonTextBox" + dr["Enabled"].ToString();
                    tbValue2RB.Text = dr["DefaultValue"].ToString();
                    tbValue2RB.Width = Unit.Pixel(int.Parse(dr["TextWidth"].ToString()));
                    if (Convert.ToBoolean(dr["Enabled"].ToString()) == false)
                        tbValue2RB.Enabled = Convert.ToBoolean(dr["Enabled"].ToString());
                    else
                        tbValue2RB.Enabled = Convert.ToBoolean(dr["AutoSelect"]);

                    wrbValue2.ID = "Web" + count + "AnyQueryValue2WebRefButton" + dr["Enabled"].ToString();
                    wrbValue2.Caption = dr["RefButtonCaption"].ToString();
                    wrbValue2.RefURL = dr["RefButtonURL"].ToString();
                    if (Convert.ToBoolean(dr["Enabled"].ToString()) == false)
                        wrbValue2.Visible = Convert.ToBoolean(dr["Enabled"].ToString());
                    else
                        wrbValue2.Visible = Convert.ToBoolean(dr["AutoSelect"]);

                    string[] arrsize = dr["RefButtonURLSize"].ToString().Split(',');
                    if (arrsize.Length == 4)
                    {
                        wrbValue2.RefURLHeight = int.Parse(arrsize[0]);
                        wrbValue2.RefURLLeft = int.Parse(arrsize[1]);
                        wrbValue2.RefURLTop = int.Parse(arrsize[2]);
                        wrbValue2.RefURLWidth = int.Parse(arrsize[3]);
                    }

                    MatchControl mc = new MatchControl();
                    mc.ControlID = "Web" + count + "AnyQueryValue2WebRefButtonTextBox" + dr["Enabled"].ToString();
                    wrbValue2.MatchControls.Add(mc);
                    tcValue2.Controls.Add(tbValue2RB);
                    tcValue2.Controls.Add(wrbValue2);
                    break;
            }
        }

        tr.Cells.Add(tcActive);
        tr.Cells.Add(tcCondition);
        tr.Cells.Add(tcColumn);
        tr.Cells.Add(tcOperator);
        tr.Cells.Add(tcValue1);
        tr.Cells.Add(tcValue2);

        //if (autoDisableColumns)
        //{
        //    InnerPages_frmAnyQuery_cbActive_CheckedChanged(cbActive, new EventArgs());
        //}

        return tr;
    }
示例#11
0
    private void CreatDataSet(String datasetid)
    {
        wdAnyQuery = new WebDataSet();
        wdsAnyQuery = new WebDataSource();

        if (datasetid != string.Empty && (!lstDataSetID.Contains(datasetid)))
        {
            #region Create WebDataSet & WebDataSource
            XmlDocument xmlDoc = new XmlDocument();
            string resourceName = psyPagePath + ".vi-VN.resx";
            ResXResourceReader reader = new ResXResourceReader(resourceName);

            IDictionaryEnumerator enumerator = reader.GetEnumerator();
            while (enumerator.MoveNext())
            {
                if (enumerator.Key.ToString() == "WebDataSets")
                {
                    string sXml = (string)enumerator.Value;
                    xmlDoc.LoadXml(sXml);
                    break;
                }
            }
            if (xmlDoc != null)
            {
                XmlNode nWDSs = xmlDoc.SelectSingleNode("WebDataSets");
                if (nWDSs != null)
                {
                    XmlNode nWDS = nWDSs.SelectSingleNode("WebDataSet[@Name='" + datasetid + "']");
                    if (nWDS != null)
                    {
                        string remoteName = "";
                        int packetRecords = 100;
                        bool active = false;
                        bool serverModify = false;

                        XmlNode nRemoteName = nWDS.SelectSingleNode("RemoteName");
                        if (nRemoteName != null)
                            remoteName = nRemoteName.InnerText;

                        XmlNode nPacketRecords = nWDS.SelectSingleNode("PacketRecords");
                        if (nPacketRecords != null)
                            packetRecords = nPacketRecords.InnerText.Length == 0 ? 100 : Convert.ToInt32(nPacketRecords.InnerText);

                        XmlNode nActive = nWDS.SelectSingleNode("Active");
                        if (nActive != null)
                            active = nActive.InnerText.Length == 0 ? false : Convert.ToBoolean(nActive.InnerText);

                        XmlNode nServerModify = nWDS.SelectSingleNode("ServerModify");
                        if (nServerModify != null)
                            serverModify = nServerModify.InnerText.Length == 0 ? false : Convert.ToBoolean(nServerModify.InnerText);

                        wdAnyQuery.RemoteName = remoteName;
                        wdAnyQuery.PacketRecords = packetRecords;
                        wdAnyQuery.ServerModify = serverModify;
                        wdAnyQuery.Active = true;

                        wdsAnyQuery = new WebDataSource();
                        wdsAnyQuery.ID = "webanyqueryds";
                        wdsAnyQuery.DesignDataSet = wdAnyQuery.RealDataSet;
                        wdsAnyQuery.DataMember = dataMember;

                        this.Form.Controls.Add(wdsAnyQuery);
                        //lstDataSetID.Add(datasetid);
                    }
                }
            }
            #endregion
        }
    }
示例#12
0
 public string GenDefaultValues(WebDataSource wds)
 {
     StringBuilder builder = new StringBuilder();
     builder.Append("{");
     foreach (MultiViewItem item in this.Masters)
     {
         AjaxFormView formView = this.GetObjByID(item.ControlId) as AjaxFormView;
         string itemDefaultValues = formView.GenDefaultValues(wds);
         if (!string.IsNullOrEmpty(itemDefaultValues))
         {
             builder.AppendFormat("{0},", itemDefaultValues);
         }
     }
     if (builder.ToString().EndsWith(","))
     {
         builder.Remove(builder.Length - 1, 1);
     }
     builder.Append("}");
     return builder.ToString();
 }
示例#13
0
 public static CrystalReportSource GetReportDD(ref CrystalReportSource crystalReportSource, ref WebDataSource webDataSource)
 {
     DataSet dsDD = new DataSet();
     string strModuleName = webDataSource.RemoteName.Substring(0, webDataSource.RemoteName.IndexOf('.'));
     int flag = 0;
     int k, l, i, j;
     if (webDataSource.InnerDataSet.Relations.Count != 0)
     {
         string strRelationTableName = webDataSource.InnerDataSet.Relations[0].ChildTable.TableName;
         string relationTabName = CliUtils.GetTableName(strModuleName, strRelationTableName, fCurrentProject);
         string strSqlRelation = "select * from COLDEF where TABLE_NAME = '" + relationTabName + "'";
         dsDD = CliUtils.ExecuteSql(strModuleName, strRelationTableName, strSqlRelation, true, fCurrentProject);
         k = webDataSource.InnerDataSet.Relations[0].ChildTable.Columns.Count;
         j = crystalReportSource.ReportDocument.ReportDefinition.Sections["Section2"].ReportObjects.Count;
         if (dsDD.Tables[0].Rows.Count != 0)
         {
             for (i = 0; i < j; i++)
             {
                 for (l = 0; l < k; l++)
                 {
                     string DD;
                     DD = dsDD.Tables[0].Rows[l]["FIELD_NAME"].ToString().ToLower();
                     TextObject textObject = crystalReportSource.ReportDocument.ReportDefinition.Sections["Section2"].ReportObjects[i] as TextObject;
                     if (textObject != null)
                     {
                         if (DD == textObject.Text.ToString().ToLower())
                         {
                             textObject.Text = dsDD.Tables[0].Rows[l]["CAPTION"].ToString();
                         }
                     }
                 }
             }
             flag = flag + 1;
         }
     }
     string strTableName = webDataSource.RemoteName.Substring(webDataSource.RemoteName.IndexOf('.') + 1);
     string tabName = CliUtils.GetTableName(strModuleName, strTableName, fCurrentProject);
     string strSql = "select * from COLDEF where TABLE_NAME = '" + tabName + "'";
     dsDD = CliUtils.ExecuteSql(strModuleName, strTableName, strSql, true, fCurrentProject);
     k = webDataSource.InnerDataSet.Tables[0].Columns.Count;
     j = crystalReportSource.ReportDocument.ReportDefinition.Sections["Section2"].ReportObjects.Count;
     if (dsDD.Tables[0].Rows.Count != 0)
     {
         for (i = 0; i < j; i++)
         {
             for (l = 0; l < k; l++)
             {
                 string DD;
                 DD = dsDD.Tables[0].Rows[l]["FIELD_NAME"].ToString().ToLower();
                 TextObject textObject = crystalReportSource.ReportDocument.ReportDefinition.Sections["Section2"].ReportObjects[i] as TextObject;
                 if (textObject != null)
                 {
                     if (DD == textObject.Text.ToString().ToLower())
                     {
                         textObject.Text = dsDD.Tables[0].Rows[l]["CAPTION"].ToString();
                     }
                 }
             }
         }
         flag = flag + 1;
     }
     if (flag == 0)
     {
         MessageBox.Show("DD has not been set up!");
     }
     return crystalReportSource;
 }
示例#14
0
        private void WebNavigatorCommand(CommandEventArgs e)
        {
            object obj = GetObjByID(this.BindingObject);
            object vobj = GetObjByID(this.ViewBindingObject);
            bool ViewExist = false;
            WebGridView viewGridView = new WebGridView();
            WebGridView gridView = new WebGridView();
            WebDetailsView detailView = new WebDetailsView();
            WebFormView formView = new WebFormView();
            WebDataSource ds = new WebDataSource();
            language = CliSysMegLag.GetClientLanguage();
            if (this.ShowDataStyle == NavigatorStyle.GridStyle && obj is WebGridView)
            {
                gridView = (WebGridView)obj;
                if (gridView.AutoPostBackMultiCheckBoxes)
                {
                    gridView.PostBackMultiCheckBoxes();
                }
                if (gridView.AutoPostBackWebGridTextBoxes)
                {
                    gridView.PostBackMultiTextBoxes();
                }
                ds = (WebDataSource)GetObjByID(gridView.DataSourceID);
                WebValidate validate = (WebValidate)gridView.ExtendedFindChildControl(gridView.DataSourceID, FindControlType.DataSourceID, typeof(WebValidate));
                WebNavigator bindingNav = gridView.GetBindingNavigator();
                #region GridView Default Operation
                switch (e.CommandName)
                {
                    case "cmdFirst":
                        if (this.GridViewMoveMode == MoveMode.PageMode)
                        {
                            if (gridView.AllowPaging)
                                gridView.PageIndex = 0;
                        }
                        else if (this.GridViewMoveMode == MoveMode.RowMode)
                        {
                            if (gridView.AllowPaging)
                                gridView.PageIndex = 0;
                            gridView.SelectedIndex = 0;
                        }
                        break;
                    case "cmdPrevious":
                        if (this.GridViewMoveMode == MoveMode.PageMode)
                        {
                            if (gridView.AllowPaging && gridView.PageIndex > 0)
                                gridView.PageIndex -= 1;
                        }
                        else if (this.GridViewMoveMode == MoveMode.RowMode)
                        {
                            if (gridView.SelectedIndex == 0)
                            {
                                if (gridView.AllowPaging && gridView.PageIndex > 0)
                                {
                                    gridView.PageIndex -= 1;
                                    gridView.SelectedIndex = gridView.PageSize - 1;
                                }
                            }
                            else
                            {
                                gridView.SelectedIndex -= 1;
                            }
                        }
                        break;
                    case "cmdNext":
                        if (this.GridViewMoveMode == MoveMode.PageMode)
                        {
                            if (gridView.AllowPaging && gridView.PageIndex != gridView.PageCount - 1)
                            {
                                gridView.PageIndex += 1;
                            }
                            if (gridView.PageIndex == gridView.PageCount - 1)
                            {
                                int j = gridView.PageIndex;
                                Object c = (this.Page.Master == null) ? this.Page.FindControl(gridView.DataSourceID) : this.Parent.FindControl(gridView.DataSourceID);
                                if (c != null)
                                {
                                    WebDataSource webDs = ((WebDataSource)c);
                                    if (webDs.MasterDataSource == null || webDs.MasterDataSource.Length == 0)
                                    {
                                        DataTable table = new DataTable();
                                        if (webDs.CommandTable != null)
                                        {
                                            table = webDs.CommandTable;
                                        }
                                        else if (webDs.InnerDataSet != null && webDs.InnerDataSet.Tables.Count != 0)
                                        {
                                            table = webDs.InnerDataSet.Tables[webDs.DataMember];
                                        }
                                        int i = table.Rows.Count;
                                        while (i <= gridView.PageSize * (j + 1) && (!webDs.Eof))
                                        {
                                            webDs.GetNextPacket();
                                            i += webDs.PacketRecords;
                                        }
                                    }
                                }
                            }
                        }
                        else if (this.GridViewMoveMode == MoveMode.RowMode)
                        {
                            if (gridView.AllowPaging)
                            {
                                if (gridView.PageIndex == gridView.PageCount - 1)
                                {
                                    if (gridView.SelectedIndex != gridView.Rows.Count - 1)
                                        gridView.SelectedIndex += 1;
                                }
                                else
                                {
                                    //不是最后一行
                                    if (gridView.SelectedIndex != gridView.PageSize - 1)
                                    {
                                        gridView.SelectedIndex += 1;
                                    }
                                    //最后一行
                                    else
                                    {
                                        gridView.PageIndex += 1;
                                        gridView.SelectedIndex = 0;
                                        if (gridView.PageIndex == gridView.PageCount - 1)
                                        {
                                            int j = gridView.PageIndex;
                                            Object c = (this.Page.Master == null) ? this.Page.FindControl(gridView.DataSourceID) : this.Parent.FindControl(gridView.DataSourceID);
                                            if (c != null)
                                            {
                                                WebDataSource webDs = ((WebDataSource)c);
                                                if (webDs.MasterDataSource == null || webDs.MasterDataSource.Length == 0)
                                                {
                                                    DataTable table = new DataTable();
                                                    if (webDs.CommandTable != null)
                                                    {
                                                        table = webDs.CommandTable;
                                                    }
                                                    else if (webDs.InnerDataSet != null && webDs.InnerDataSet.Tables.Count != 0)
                                                    {
                                                        table = webDs.InnerDataSet.Tables[webDs.DataMember];
                                                    }
                                                    int i = table.Rows.Count;
                                                    while (i <= gridView.PageSize * (j + 1) && (!webDs.Eof))
                                                    {
                                                        webDs.GetNextPacket();
                                                        i += webDs.PacketRecords;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        break;
                    case "cmdLast":
                        if (gridView.AllowPaging)
                        {
                            gridView.PageIndex = gridView.PageCount - 1;
                            int j = gridView.PageIndex;
                            Object c = (this.Page.Master == null) ? this.Page.FindControl(gridView.DataSourceID) : this.Parent.FindControl(gridView.DataSourceID);
                            if (c != null)
                            {
                                WebDataSource webDs = ((WebDataSource)c);
                                if (webDs.MasterDataSource == null || webDs.MasterDataSource.Length == 0)
                                {
                                    DataTable table = new DataTable();
                                    if (webDs.CommandTable != null)
                                    {
                                        table = webDs.CommandTable;
                                    }
                                    else if (webDs.InnerDataSet != null && webDs.InnerDataSet.Tables.Count != 0)
                                    {
                                        table = webDs.InnerDataSet.Tables[webDs.DataMember];
                                    }
                                    int i = table.Rows.Count;
                                    bool b = false;
                                    while (i <= gridView.PageSize * (j + 1) && (!webDs.Eof))
                                    {
                                        webDs.GetNextPacket();
                                        i += webDs.PacketRecords;
                                        b = true;
                                    }

                                    if (this.GridViewMoveMode == MoveMode.RowMode)
                                    {
                                        if (!b && gridView.PageSize > 1)
                                        {
                                            gridView.SelectedIndex = (i % gridView.PageSize - 1 + gridView.PageSize) % gridView.PageSize;
                                        }
                                        else
                                        {
                                            gridView.SelectedIndex = gridView.PageSize - 1;
                                        }
                                    }
                                }
                            }
                        }
                        break;
                    case "cmdAdd":
                        if (ds.AllowAdd)
                        {
                            if (!CheckInsertedNotApply(gridView, 1))
                            {
                                language = CliUtils.fClientLang;
                                String message = SysMsg.GetSystemMessage(language, "Srvtools", "WebDataSource", "InsertedNotApply", true);

                                ScriptHelper.ShowMessage(this, "InsertedNotApply", message);
                                formView.NeedExecuteAdd = false;
                                return;
                            }

                            formView.NeedExecuteAdd = true;
                            if (gridView.EditURL != null && gridView.EditURL != "")
                            {
                                gridView.OpenEditURL(WebGridView.OpenEditMode.Insert);
                                return;
                            }
                            else if (!string.IsNullOrEmpty(gridView.EditURLPanel))
                            {
                                object obj_pan = this.GetObjByID(gridView.EditURLPanel);
                                if (obj_pan != null && obj_pan is IModalPanel)
                                {
                                    IModalPanel panel = obj_pan as IModalPanel;
                                    panel.Open(WebGridView.OpenEditMode.Insert, new GridViewCommandEventArgs(null, new CommandEventArgs("Insert", gridView.ID)));
                                }
                                return;
                            }
                            else
                            {
                                gridView.GridInserting = true;
                                if (!gridView.TotalActive)
                                    gridView.ShowFooter = true;
                                else
                                    gridView.DataBind();
                                gridView.OnAdding(new EventArgs());
                            }
                            if (bindingNav != null && bindingNav != this)
                            {
                                bindingNav.SetState(NavigatorState.Inserting);
                                bindingNav.SetNavState("Inserting");
                            }
                            this.SetState(NavigatorState.Inserting);
                            this.SetNavState("Inserting");
                        }
                        else
                        {
                            language = CliUtils.fClientLang;
                            String message = SysMsg.GetSystemMessage(language, "Srvtools", "WebDataSource", "rightToAdd", true);
                            CliUtils.RegisterStartupScript(this, "alert('" + message + "')");
                        }
                        break;
                    case "cmdOK":
                        gridView.OnInserting(new EventArgs());
                        if (!gridView.SkipInsert)
                        {
                            doOkForGridInsert(gridView, ds);
                        }
                        gridView.SkipInsert = false;
                        if (!gridView.ValidateFailed)
                            FlowOK();
                        break;
                    case "cmdCancel":
                        if (validate != null)
                            validate.Text = string.Empty;
                        gridView.GridInserting = false;
                        if (gridView.EditIndex != -1)
                            gridView.EditIndex = -1;
                        if (!gridView.TotalActive)
                            gridView.ShowFooter = false;
                        else
                            gridView.DataBind();

                        if (bindingNav != null && bindingNav != this)
                        {
                            if (gridView.DataHasChanged)
                            {
                                bindingNav.SetState(NavigatorState.Changed);
                                bindingNav.SetNavState("Changing");
                            }
                            else
                            {
                                bindingNav.SetState(NavigatorState.Browsing);
                                bindingNav.SetNavState("Browsed");
                            }
                        }
                        if (gridView.DataHasChanged)
                        {
                            this.SetState(NavigatorState.Changed);
                            this.SetNavState("Changing");
                        }
                        else
                        {
                            this.SetState(NavigatorState.Browsing);
                            this.SetNavState("Browsed");
                        }
                        FlowCancel();
                        gridView.OnCanceled(EventArgs.Empty);
                        break;
                    case "cmdApply":
                        foreach (GridViewRow row in gridView.Rows)
                        {
                            if (row.RowType == DataControlRowType.DataRow)
                            {
                                if ((row.RowState & DataControlRowState.Edit) == DataControlRowState.Edit)
                                {
                                    gridView.UpdateRow(row.RowIndex, false);

                                    if ((row.RowState & DataControlRowState.Edit) == DataControlRowState.Edit)
                                        return;
                                }
                            }
                        }
                        if (gridView.GridInserting)
                            doOkForGridInsert(gridView, ds);
                        bool bSucess = ds.ApplyUpdates();
                        if (bSucess && !gridView.ValidateFailed)
                        {
                            if (ds.AutoRecordLock)
                            {
                                ds.RemoveLock();
                            }
                            if (bindingNav != null && bindingNav != this)
                            {
                                bindingNav.SetState(NavigatorState.ApplySucess);
                                bindingNav.SetNavState("Browsed");
                            }
                            this.SetState(NavigatorState.ApplySucess);
                            this.SetNavState("Browsed");
                            FlowApply();
                        }
                        else
                        {
                            this.SetState(NavigatorState.ApplyFail);
                            if (gridView.EditIndex != -1)
                            {
                                this.SetNavState("Editing");
                                if (bindingNav != null && bindingNav != this)
                                    bindingNav.SetNavState("Editing");
                            }
                            else
                            {
                                this.SetNavState("Inserting");
                                if (bindingNav != null && bindingNav != this)
                                    bindingNav.SetNavState("Inserting");
                            }
                        }
                        break;
                    case "cmdAbort":
                        if (validate != null)
                            validate.Text = string.Empty;
                        if (gridView.EditIndex != -1)
                            gridView.EditIndex = -1;
                        if (gridView.ShowFooter && !gridView.TotalActive)
                        {
                            gridView.ShowFooter = false;
                        }
                        ds.InnerDataSet.RejectChanges();
                        if (ds.AutoRecordLock)
                        {
                            ds.RemoveLock();
                        }
                        this.SetState(NavigatorState.Aborted);
                        this.SetNavState("Browsed");
                        gridView.DataBind();
                        FlowAbort();
                        gridView.OnCanceled(EventArgs.Empty);
                        break;
                    case "cmdQuery":
                        DoQuery(ds);
                        break;
                    case "cmdPrint":
                        if (ds.AllowPrint)
                        { }
                        else
                        {
                            language = CliUtils.fClientLang;
                            String message = SysMsg.GetSystemMessage(language, "Srvtools", "WebDataSource", "rightToPrint", true);
                            CliUtils.RegisterStartupScript(this, "alert('" + message + "')");
                        }
                        break;
                    case "cmdExport":
                        Export();
                        break;
                    default:
                        GridViewFlowCommand(e);
                        break;
                }
                #endregion
            }
            else if (this.ShowDataStyle == NavigatorStyle.DetailStyle && obj is WebDetailsView)
            {
                detailView = (WebDetailsView)obj;
                if (vobj is WebGridView)
                {
                    viewGridView = (WebGridView)vobj;
                    ViewExist = true;
                }
                ds = (WebDataSource)GetObjByID(detailView.DataSourceID);
                WebValidate validate = (WebValidate)detailView.ExtendedFindChildControl(detailView.DataSourceID, FindControlType.DataSourceID, typeof(WebValidate));
                WebNavigator bindingNav = detailView.GetBindingNavigator();
                #region DetailsView Default Operation
                switch (e.CommandName)
                {
                    case "cmdFirst":
                        if (ViewExist)
                        {
                            if (this.GridViewMoveMode == MoveMode.PageMode)
                            {
                                if (viewGridView.AllowPaging)
                                    viewGridView.PageIndex = 0;
                            }
                            else if (this.GridViewMoveMode == MoveMode.RowMode)
                            {
                                if (viewGridView.AllowPaging)
                                    viewGridView.PageIndex = 0;
                                viewGridView.SelectedIndex = 0;
                            }
                        }
                        else
                        {
                            if (detailView.AllowPaging)
                                detailView.PageIndex = 0;
                        }
                        break;
                    case "cmdPrevious":
                        if (ViewExist)
                        {
                            if (this.GridViewMoveMode == MoveMode.PageMode)
                            {
                                if (viewGridView.AllowPaging && viewGridView.PageIndex > 0)
                                    viewGridView.PageIndex -= 1;
                            }
                            else if (this.GridViewMoveMode == MoveMode.RowMode)
                            {
                                if (viewGridView.SelectedIndex == 0)
                                {
                                    if (viewGridView.AllowPaging && viewGridView.PageIndex > 0)
                                    {
                                        viewGridView.PageIndex -= 1;
                                        viewGridView.SelectedIndex = viewGridView.PageSize - 1;
                                    }
                                }
                                else
                                {
                                    viewGridView.SelectedIndex -= 1;
                                }
                            }
                        }
                        else
                        {
                            if (detailView.AllowPaging && detailView.PageIndex > 0)
                                detailView.PageIndex -= 1;
                        }
                        break;
                    case "cmdNext":
                        if (ViewExist)
                        {
                            if (this.GridViewMoveMode == MoveMode.PageMode)
                            {
                                if (viewGridView.AllowPaging && viewGridView.PageIndex != viewGridView.PageCount - 1)
                                {
                                    viewGridView.PageIndex += 1;
                                }
                                if (viewGridView.PageIndex == viewGridView.PageCount - 1)
                                {
                                    Object c = (this.Page.Master == null) ? this.Page.FindControl(viewGridView.DataSourceID)
                                        : this.Parent.FindControl(viewGridView.DataSourceID);
                                    if (c != null)
                                    {
                                        ((WebDataSource)c).GetNextPacket();
                                    }
                                }
                            }
                            else if (this.GridViewMoveMode == MoveMode.RowMode)
                            {
                                if (viewGridView.AllowPaging)
                                {
                                    if (viewGridView.PageIndex == viewGridView.PageCount - 1)
                                    {
                                        if (viewGridView.SelectedIndex != viewGridView.Rows.Count - 1)
                                            viewGridView.SelectedIndex += 1;
                                    }
                                    else
                                    {
                                        //不是最后一行
                                        if (viewGridView.SelectedIndex != viewGridView.PageSize - 1)
                                        {
                                            viewGridView.SelectedIndex += 1;
                                        }
                                        //最后一行
                                        else
                                        {
                                            viewGridView.PageIndex += 1;
                                            viewGridView.SelectedIndex = 0;
                                            if (viewGridView.PageIndex == viewGridView.PageCount - 1)
                                            {
                                                int j = viewGridView.PageIndex;
                                                Object c = (this.Page.Master == null) ? this.Page.FindControl(viewGridView.DataSourceID) : this.Parent.FindControl(viewGridView.DataSourceID);
                                                if (c != null)
                                                {
                                                    WebDataSource webDs = ((WebDataSource)c);
                                                    if (webDs.MasterDataSource == null || webDs.MasterDataSource.Length == 0)
                                                    {
                                                        DataTable table = new DataTable();
                                                        if (webDs.CommandTable != null)
                                                        {
                                                            table = webDs.CommandTable;
                                                        }
                                                        else if (webDs.InnerDataSet != null && webDs.InnerDataSet.Tables.Count != 0)
                                                        {
                                                            table = webDs.InnerDataSet.Tables[webDs.DataMember];
                                                        }
                                                        int i = table.Rows.Count;
                                                        while (i <= viewGridView.PageSize * (j + 1) && (!webDs.Eof))
                                                        {
                                                            webDs.GetNextPacket();
                                                            i += webDs.PacketRecords;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        else
                        {
                            if (detailView.AllowPaging && detailView.PageIndex != detailView.PageCount - 1)
                            {
                                detailView.PageIndex += 1;
                                if (detailView.PageIndex == detailView.PageCount - 1)
                                {
                                    Object c = (this.Page.Master == null) ? this.Page.FindControl(detailView.DataSourceID)
                                        : this.Parent.FindControl(detailView.DataSourceID);
                                    if (c != null)
                                    {
                                        ((WebDataSource)c).GetNextPacket();
                                    }
                                }
                            }
                        }
                        break;
                    case "cmdLast":
                        if (ViewExist)
                        {
                            //if (viewGridView.AllowPaging)
                            //{
                            //    viewGridView.PageIndex = viewGridView.PageCount - 1;
                            //    Object c = (this.Page.Master == null) ? this.Page.FindControl(viewGridView.DataSourceID)
                            //     : this.Parent.FindControl(viewGridView.DataSourceID);
                            //    if (c != null)
                            //    {
                            //        ((WebDataSource)c).GetNextPacket();
                            //    }
                            //}
                            if (viewGridView.AllowPaging)
                            {
                                viewGridView.PageIndex = viewGridView.PageCount - 1;
                                int j = viewGridView.PageIndex;
                                Object c = (this.Page.Master == null) ? this.Page.FindControl(viewGridView.DataSourceID) : this.Parent.FindControl(viewGridView.DataSourceID);
                                if (c != null)
                                {
                                    WebDataSource webDs = ((WebDataSource)c);
                                    if (webDs.MasterDataSource == null || webDs.MasterDataSource.Length == 0)
                                    {
                                        DataTable table = new DataTable();
                                        if (webDs.CommandTable != null)
                                        {
                                            table = webDs.CommandTable;
                                        }
                                        else if (webDs.InnerDataSet != null && webDs.InnerDataSet.Tables.Count != 0)
                                        {
                                            table = webDs.InnerDataSet.Tables[webDs.DataMember];
                                        }
                                        int i = table.Rows.Count;
                                        bool b = false;
                                        while (i <= viewGridView.PageSize * (j + 1) && (!webDs.Eof))
                                        {
                                            webDs.GetNextPacket();
                                            i += webDs.PacketRecords;
                                            b = true;
                                        }

                                        if (this.GridViewMoveMode == MoveMode.RowMode)
                                        {
                                            if (!b && viewGridView.PageSize > 1)
                                            {
                                                viewGridView.SelectedIndex = (i % viewGridView.PageSize - 1 + viewGridView.PageSize) % viewGridView.PageSize;
                                            }
                                            else
                                            {
                                                viewGridView.SelectedIndex = viewGridView.PageSize - 1;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        else
                        {
                            if (detailView.AllowPaging)
                            {
                                detailView.PageIndex = detailView.PageCount - 1;
                                Object c = (this.Page.Master == null) ? this.Page.FindControl(detailView.DataSourceID)
                                     : this.Parent.FindControl(detailView.DataSourceID);
                                if (c != null)
                                {
                                    ((WebDataSource)c).GetNextPacket();
                                }
                            }
                        }
                        break;
                    case "cmdAdd":
                        if (ds.AllowAdd)
                        {
                            if (!CheckInsertedNotApply(detailView, 2))
                            {
                                language = CliUtils.fClientLang;
                                String message = SysMsg.GetSystemMessage(language, "Srvtools", "WebDataSource", "InsertedNotApply", true);

                                ScriptHelper.ShowMessage(this, "InsertedNotApply", message);
                                formView.NeedExecuteAdd = false;
                                return;
                            }
                            formView.NeedExecuteAdd = true;
                            if (validate != null)
                                detailView.SetValidateFlag(validate);
                            detailView.ChangeMode(DetailsViewMode.Insert);
                            if (bindingNav != null && bindingNav != this)
                            {
                                bindingNav.SetState(NavigatorState.Inserting);
                                bindingNav.SetNavState("Inserting");
                            }
                            this.SetState(NavigatorState.Inserting);
                            this.SetNavState("Inserting");
                        }
                        else
                        {
                            language = CliUtils.fClientLang;
                            String message = SysMsg.GetSystemMessage(language, "Srvtools", "WebDataSource", "rightToAdd", true);
                            CliUtils.RegisterStartupScript(this, "alert('" + message + "')");
                        }
                        break;
                    case "cmdUpdate":
                        if (ds.AllowUpdate)
                        {
                            if (!CheckInsertedNotApply(detailView, 2))
                            {
                                language = CliUtils.fClientLang;
                                String message = SysMsg.GetSystemMessage(language, "Srvtools", "WebDataSource", "InsertedNotApply", true);

                                ScriptHelper.ShowMessage(this, "InsertedNotApply", message);
                                return;
                            }
                            formView.NeedExecuteAdd = true;
                            if (!ds.IsEmpty)
                            {
                                if (validate != null)
                                    detailView.SetValidateFlag(validate);
                                detailView.ChangeMode(DetailsViewMode.Edit);
                                if (bindingNav != null && bindingNav != this)
                                {
                                    bindingNav.SetState(NavigatorState.Editing);
                                    bindingNav.SetNavState("Editing");
                                }
                                this.SetState(NavigatorState.Editing);
                                this.SetNavState("Editing");
                            }
                        }
                        else
                        {
                            language = CliUtils.fClientLang;
                            String message = SysMsg.GetSystemMessage(language, "Srvtools", "WebDataSource", "rightToUpdate", true);
                            CliUtils.RegisterStartupScript(this, "alert('" + message + "')");
                        }
                        break;
                    case "cmdDelete":
                        if (ds.InnerDataSet.Tables[ds.DataMember].Rows.Count != 0)
                            detailView.DeleteItem();
                        break;
                    case "cmdOK":
                        if (detailView.CurrentMode == DetailsViewMode.Insert)
                            detailView.InsertItem(false);
                        else if (detailView.CurrentMode == DetailsViewMode.Edit)
                            detailView.UpdateItem(false);
                        if (!detailView.ValidateFailed)
                            FlowOK();
                        break;
                    case "cmdCancel":
                        if (detailView.CurrentMode == DetailsViewMode.Insert
                            || detailView.CurrentMode == DetailsViewMode.Edit)
                        {
                            detailView.ChangeMode(DetailsViewMode.ReadOnly);
                            if (validate != null)
                                validate.Text = string.Empty;
                        }
                        if (validate != null)
                            detailView.RemoveValidateFlag(validate);
                        if (detailView.DataHasChanged)
                        {
                            this.SetState(NavigatorState.Changed);
                            this.SetNavState("Changing");
                        }
                        else
                        {
                            this.SetState(NavigatorState.Browsing);
                            this.SetNavState("Browsed");
                        }
                        this.SetNavState("Browsed");
                        FlowCancel();
                        detailView.OnCanceled(EventArgs.Empty);

                        break;
                    case "cmdApply":
                        if (detailView.CurrentMode == DetailsViewMode.Insert)
                            detailView.InsertItem(false);
                        else if (detailView.CurrentMode == DetailsViewMode.Edit)
                            detailView.UpdateItem(false);
                        if (detailView.CurrentMode == DetailsViewMode.ReadOnly)
                        {
                            bool bSucess = ds.ApplyUpdates();
                            if (bSucess && !detailView.ValidateFailed)
                            {
                                if (ds.AutoRecordLock)
                                {
                                    ds.RemoveLock();
                                }
                                if (bindingNav != null && bindingNav != this)
                                {
                                    bindingNav.SetState(NavigatorState.ApplySucess);
                                    bindingNav.SetNavState("Browsed");
                                }
                                this.SetState(NavigatorState.ApplySucess);
                                this.SetNavState("Browsed");
                                FlowApply();
                            }
                            else
                            {
                                this.SetState(NavigatorState.ApplyFail);
                                if (detailView.CurrentMode == DetailsViewMode.Edit)
                                {
                                    if (bindingNav != null && bindingNav != this)
                                    {
                                        bindingNav.SetNavState("Editing");
                                    }
                                    this.SetNavState("Editing");
                                }
                                else if (detailView.CurrentMode == DetailsViewMode.Insert)
                                {
                                    if (bindingNav != null && bindingNav != this)
                                    {
                                        bindingNav.SetNavState("Inserting");
                                    }
                                    this.SetNavState("Inserting");
                                }
                            }
                        }
                        break;
                    case "cmdAbort":
                        if (detailView.CurrentMode == DetailsViewMode.Insert
                            || detailView.CurrentMode == DetailsViewMode.Edit)
                        {
                            detailView.ChangeMode(DetailsViewMode.ReadOnly);
                            if (validate != null)
                                validate.Text = string.Empty;
                        }
                        ds.InnerDataSet.RejectChanges();
                        if (ds.AutoRecordLock)
                        {
                            ds.RemoveLock();
                        }
                        if (validate != null)
                            detailView.RemoveValidateFlag(validate);
                        if (bindingNav != null && bindingNav != this)
                        {
                            bindingNav.SetState(NavigatorState.Aborted);
                            bindingNav.SetNavState("Browsed");
                        }
                        this.SetState(NavigatorState.Aborted);
                        this.SetNavState("Browsed");
                        detailView.DataBind();
                        FlowAbort();
                        detailView.OnCanceled(EventArgs.Empty);
                        break;
                    case "cmdQuery":
                        if (ViewExist)
                        {
                            ds = this.GetObjByID(viewGridView.DataSourceID) as WebDataSource;
                        }
                        DoQuery(ds);
                        break;
                    case "cmdPrint":
                        if (ViewExist)
                        {
                            if (ds.AllowPrint)
                            { }
                            else
                            {
                                language = CliUtils.fClientLang;
                                String message = SysMsg.GetSystemMessage(language, "Srvtools", "WebDataSource", "rightToPrint", true);
                                CliUtils.RegisterStartupScript(this, "alert('" + message + "')");
                            }
                        }
                        else
                        {
                            if (ds.AllowPrint)
                            { }
                            else
                            {
                                language = CliUtils.fClientLang;
                                String message = SysMsg.GetSystemMessage(language, "Srvtools", "WebDataSource", "rightToPrint", true);
                                CliUtils.RegisterStartupScript(this, "alert('" + message + "')");
                            }
                        }
                        break;
                    case "cmdExport":
                        Export();
                        break;
                    default:
                        DetailsViewFlowCommand(e);
                        break;
                }
                #endregion
            }
            else if (this.ShowDataStyle == NavigatorStyle.FormViewStyle && obj is WebFormView)
            {
                formView = (WebFormView)obj;
                ds = (WebDataSource)GetObjByID(formView.DataSourceID);
                WebValidate validate = (WebValidate)formView.ExtendedFindChildControl(formView.DataSourceID, FindControlType.DataSourceID, typeof(WebValidate));
                if (vobj is WebGridView)
                {
                    viewGridView = (WebGridView)vobj;
                    ViewExist = true;
                }
                #region WebFormView Default Operation
                switch (e.CommandName)
                {
                    case "cmdFirst":
                        if (ViewExist)
                        {
                            //if (viewGridView.AllowPaging)
                            //    viewGridView.PageIndex = 0;
                            if (this.GridViewMoveMode == MoveMode.PageMode)
                            {
                                if (viewGridView.AllowPaging)
                                    viewGridView.PageIndex = 0;
                            }
                            else if (this.GridViewMoveMode == MoveMode.RowMode)
                            {
                                if (viewGridView.AllowPaging)
                                    viewGridView.PageIndex = 0;
                                viewGridView.SelectedIndex = 0;
                            }
                        }
                        else
                        {
                            if (formView.AllowPaging)
                                formView.PageIndex = 0;
                        }
                        break;
                    case "cmdPrevious":
                        if (ViewExist)
                        {
                            //if (viewGridView.AllowPaging && viewGridView.PageIndex > 0)
                            //    viewGridView.PageIndex -= 1;
                            if (this.GridViewMoveMode == MoveMode.PageMode)
                            {
                                if (viewGridView.AllowPaging && viewGridView.PageIndex > 0)
                                    viewGridView.PageIndex -= 1;
                            }
                            else if (this.GridViewMoveMode == MoveMode.RowMode)
                            {
                                if (viewGridView.SelectedIndex == 0)
                                {
                                    if (viewGridView.AllowPaging && viewGridView.PageIndex > 0)
                                    {
                                        viewGridView.PageIndex -= 1;
                                        viewGridView.SelectedIndex = viewGridView.PageSize - 1;
                                    }
                                }
                                else
                                {
                                    viewGridView.SelectedIndex -= 1;
                                }
                            }
                        }
                        else
                        {
                            if (formView.AllowPaging && formView.PageIndex > 0)
                                formView.PageIndex -= 1;
                        }
                        break;
                    case "cmdNext":
                        if (ViewExist)
                        {
                            if (this.GridViewMoveMode == MoveMode.PageMode)
                            {
                                if (viewGridView.AllowPaging && viewGridView.PageIndex != viewGridView.PageCount - 1)
                                {
                                    viewGridView.PageIndex += 1;
                                }
                                if (viewGridView.PageIndex == viewGridView.PageCount - 1)
                                {
                                    Object c = (this.Page.Master == null) ? this.Page.FindControl(viewGridView.DataSourceID)
                                        : this.Parent.FindControl(viewGridView.DataSourceID);
                                    if (c != null)
                                    {
                                        ((WebDataSource)c).GetNextPacket();
                                    }
                                }
                            }
                            else if (this.GridViewMoveMode == MoveMode.RowMode)
                            {
                                if (viewGridView.AllowPaging)
                                {
                                    if (viewGridView.PageIndex == viewGridView.PageCount - 1)
                                    {
                                        if (viewGridView.SelectedIndex != viewGridView.Rows.Count - 1)
                                            viewGridView.SelectedIndex += 1;
                                    }
                                    else
                                    {
                                        //不是最后一行
                                        if (viewGridView.SelectedIndex != viewGridView.PageSize - 1)
                                        {
                                            viewGridView.SelectedIndex += 1;
                                        }
                                        //最后一行
                                        else
                                        {
                                            viewGridView.PageIndex += 1;
                                            viewGridView.SelectedIndex = 0;
                                            if (viewGridView.PageIndex == viewGridView.PageCount - 1)
                                            {
                                                int j = viewGridView.PageIndex;
                                                Object c = (this.Page.Master == null) ? this.Page.FindControl(viewGridView.DataSourceID) : this.Parent.FindControl(viewGridView.DataSourceID);
                                                if (c != null)
                                                {
                                                    WebDataSource webDs = ((WebDataSource)c);
                                                    if (webDs.MasterDataSource == null || webDs.MasterDataSource.Length == 0)
                                                    {
                                                        DataTable table = new DataTable();
                                                        if (webDs.CommandTable != null)
                                                        {
                                                            table = webDs.CommandTable;
                                                        }
                                                        else if (webDs.InnerDataSet != null && webDs.InnerDataSet.Tables.Count != 0)
                                                        {
                                                            table = webDs.InnerDataSet.Tables[webDs.DataMember];
                                                        }
                                                        int i = table.Rows.Count;
                                                        while (i <= viewGridView.PageSize * (j + 1) && (!webDs.Eof))
                                                        {
                                                            webDs.GetNextPacket();
                                                            i += webDs.PacketRecords;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        else
                        {
                            if (formView.AllowPaging && formView.PageIndex != formView.PageCount - 1)
                            {
                                formView.PageIndex += 1;
                                if (formView.PageIndex == formView.PageCount - 1)
                                {
                                    Object c = (this.Page.Master == null) ? this.Page.FindControl(formView.DataSourceID)
                                        : this.Parent.FindControl(formView.DataSourceID);
                                    if (c != null)
                                    {
                                        ((WebDataSource)c).GetNextPacket();
                                    }
                                }
                            }
                        }
                        break;
                    case "cmdLast":
                        if (ViewExist)
                        {
                            //if (viewGridView.AllowPaging)
                            //{
                            //    viewGridView.PageIndex = viewGridView.PageCount - 1;
                            //    Object c = (this.Page.Master == null) ? this.Page.FindControl(viewGridView.DataSourceID)
                            //        : this.Parent.FindControl(viewGridView.DataSourceID);
                            //    if (c != null)
                            //    {
                            //        ((WebDataSource)c).GetNextPacket();
                            //    }
                            //}
                            if (viewGridView.AllowPaging)
                            {
                                viewGridView.PageIndex = viewGridView.PageCount - 1;
                                int j = viewGridView.PageIndex;
                                Object c = (this.Page.Master == null) ? this.Page.FindControl(viewGridView.DataSourceID) : this.Parent.FindControl(viewGridView.DataSourceID);
                                if (c != null)
                                {
                                    WebDataSource webDs = ((WebDataSource)c);
                                    if (webDs.MasterDataSource == null || webDs.MasterDataSource.Length == 0)
                                    {
                                        DataTable table = new DataTable();
                                        if (webDs.CommandTable != null)
                                        {
                                            table = webDs.CommandTable;
                                        }
                                        else if (webDs.InnerDataSet != null && webDs.InnerDataSet.Tables.Count != 0)
                                        {
                                            table = webDs.InnerDataSet.Tables[webDs.DataMember];
                                        }
                                        int i = table.Rows.Count;
                                        bool b = false;
                                        while (i <= viewGridView.PageSize * (j + 1) && (!webDs.Eof))
                                        {
                                            webDs.GetNextPacket();
                                            i += webDs.PacketRecords;
                                            b = true;
                                        }

                                        if (this.GridViewMoveMode == MoveMode.RowMode)
                                        {
                                            if (!b && viewGridView.PageSize > 1)
                                            {
                                                viewGridView.SelectedIndex = (i % viewGridView.PageSize - 1 + viewGridView.PageSize) % viewGridView.PageSize;
                                            }
                                            else
                                            {
                                                viewGridView.SelectedIndex = viewGridView.PageSize - 1;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        else
                        {
                            if (formView.AllowPaging)
                            {
                                formView.PageIndex = formView.PageCount - 1;
                                Object c = (this.Page.Master == null) ? this.Page.FindControl(formView.DataSourceID)
                                    : this.Parent.FindControl(formView.DataSourceID);
                                if (c != null)
                                {
                                    ((WebDataSource)c).GetNextPacket();
                                }
                            }
                        }
                        break;
                    case "cmdAdd":
                        if (ds.AllowAdd)
                        {
                            if (!CheckInsertedNotApply(formView, 3))
                            {
                                language = CliUtils.fClientLang;
                                String message = SysMsg.GetSystemMessage(language, "Srvtools", "WebDataSource", "InsertedNotApply", true);

                                ScriptHelper.ShowMessage(this, "InsertedNotApply", message);
                                formView.NeedExecuteAdd = false;
                                return;
                            }
                            formView.NeedExecuteAdd = true;
                            formView.ChangeMode(FormViewMode.Insert);
                            formView.OnAdding(EventArgs.Empty);
                            this.SetState(NavigatorState.Inserting);
                            this.SetNavState("Inserting");
                        }
                        else
                        {
                            language = CliUtils.fClientLang;
                            String message = SysMsg.GetSystemMessage(language, "Srvtools", "WebDataSource", "rightToAdd", true);
                            CliUtils.RegisterStartupScript(this, "alert('" + message + "')");
                        }
                        break;
                    case "cmdUpdate":
                        if (ds.AllowUpdate)
                        {
                            if (!CheckInsertedNotApply(formView, 3))
                            {
                                language = CliUtils.fClientLang;
                                String message = SysMsg.GetSystemMessage(language, "Srvtools", "WebDataSource", "InsertedNotApply", true);

                                ScriptHelper.ShowMessage(this, "InsertedNotApply", message);
                                return;
                            }
                            formView.NeedExecuteAdd = true;
                            if (!ds.IsEmpty)
                            {
                                formView.ChangeMode(FormViewMode.Edit);
                                this.SetState(NavigatorState.Editing);
                                this.SetNavState("Editing");
                            }
                        }
                        else
                        {
                            language = CliUtils.fClientLang;
                            String message = SysMsg.GetSystemMessage(language, "Srvtools", "WebDataSource", "rightToUpdate", true);
                            CliUtils.RegisterStartupScript(this, "alert('" + message + "')");
                        }
                        break;
                    case "cmdDelete":
                        if (ds.AllowDelete)
                            formView.DeleteItem();
                        else
                        {
                            language = CliUtils.fClientLang;
                            String message = SysMsg.GetSystemMessage(language, "Srvtools", "WebDataSource", "rightToDelete", true);
                            CliUtils.RegisterStartupScript(this, "alert('" + message + "')");
                        }
                        break;
                    case "cmdOK":
                        if (formView.CurrentMode == FormViewMode.Insert)
                            formView.InsertItem(false);
                        else if (formView.CurrentMode == FormViewMode.Edit)
                            formView.UpdateItem(false);
                        if (!formView.ValidateFailed)
                            FlowOK();
                        break;
                    case "cmdCancel":
                        if (formView.CurrentMode == FormViewMode.Insert
                            || formView.CurrentMode == FormViewMode.Edit)
                        {
                            formView.ChangeMode(formView.DefaultMode);
                            if (validate != null)
                                validate.Text = string.Empty;
                            if (formView.DataHasChanged)
                            {
                                this.SetState(NavigatorState.Changed);
                                this.SetNavState("Changing");
                            }
                            else
                            {
                                this.SetState(NavigatorState.Browsing);
                                this.SetNavState("Browsed");
                            }
                            FlowCancel();
                            formView.OnCanceled(EventArgs.Empty);
                        }
                        break;
                    case "cmdApply":
                        if (formView.CurrentMode == FormViewMode.Insert)
                            formView.InsertItem(false);
                        else if (formView.CurrentMode == FormViewMode.Edit)
                            formView.UpdateItem(false);
                        if (formView.CurrentMode == FormViewMode.ReadOnly) //防止formview updating event 调用 e.cancel == true; navigator state会变
                        {
                            bool bSucess = ds.ApplyUpdates();
                            if (bSucess && !formView.ValidateFailed)
                            {
                                if (ds.AutoRecordLock)
                                {
                                    ds.RemoveLock();
                                }
                                this.SetState(NavigatorState.ApplySucess);
                                this.SetNavState("Browsed");
                                FlowApply();
                            }
                            else
                            {
                                this.SetState(NavigatorState.ApplyFail);
                                if (formView.CurrentMode == FormViewMode.Edit)
                                    this.SetNavState("Editing");
                                else if (formView.CurrentMode == FormViewMode.Insert)
                                    this.SetNavState("Inserting");
                            }
                        }
                        break;
                    case "cmdAbort":
                        ds.InnerDataSet.RejectChanges();
                        formView.DataBind();
                        if (formView.CurrentMode == FormViewMode.Insert || formView.CurrentMode == FormViewMode.Edit)
                        {
                            formView.ChangeMode(formView.DefaultMode);
                            if (validate != null)
                                validate.Text = string.Empty;
                        }
                        if (ds.AutoRecordLock)
                        {
                            ds.RemoveLock();
                        }
                        this.SetState(NavigatorState.Aborted);
                        this.SetNavState("Browsed");
                        FlowAbort();
                        formView.OnCanceled(EventArgs.Empty);
                        break;
                    case "cmdQuery":
                        if (ViewExist)
                        {
                            ds = this.GetObjByID(viewGridView.DataSourceID) as WebDataSource;
                        }
                        DoQuery(ds);
                        break;
                    case "cmdPrint":
                        if (ViewExist)
                        {
                            if (ds.AllowPrint)
                            { }
                            else
                            {
                                language = CliUtils.fClientLang;
                                String message = SysMsg.GetSystemMessage(language, "Srvtools", "WebDataSource", "rightToPrint", true);
                                CliUtils.RegisterStartupScript(this, "alert('" + message + "')");
                            }
                        }
                        else
                        {
                            if (ds.AllowPrint)
                            { }
                            else
                            {
                                language = CliUtils.fClientLang;
                                String message = SysMsg.GetSystemMessage(language, "Srvtools", "WebDataSource", "rightToPrint", true);
                                CliUtils.RegisterStartupScript(this, "alert('" + message + "')");
                            }
                        }
                        break;
                    case "cmdExport":
                        Export();
                        break;
                    default:
                        FormViewFlowCommand(e);
                        break;
                }
                #endregion
            }
            else if (this.ShowDataStyle == NavigatorStyle.ASPxGridView && obj.GetType().Name == "ASPxGridView")
            {
                var aspxGridView = obj.GetType();

                object objPageIndex = obj.GetType().GetProperty("PageIndex").GetValue(obj, null);
                int pageIndex = int.Parse(objPageIndex.ToString());
                object objPageCount = obj.GetType().GetProperty("PageCount").GetValue(obj, null);
                int pageCount = int.Parse(objPageCount.ToString());

                String strDataSourceID = obj.GetType().GetProperty("DataSourceID").GetValue(obj, null).ToString();
                ds = (WebDataSource)GetObjByID(strDataSourceID);
                //WebValidate validate = (WebValidate)gridView.ExtendedFindChildControl(gridView.DataSourceID, FindControlType.DataSourceID, typeof(WebValidate));
                #region ASPxGridView Default Operation
                switch (e.CommandName)
                {
                    case "cmdFirst":
                        obj.GetType().GetProperty("PageIndex").SetValue(obj, 0, null);
                        break;
                    case "cmdPrevious":
                        if (objPageIndex != null)
                        {
                            obj.GetType().GetProperty("PageIndex").SetValue(obj, pageIndex - 1, null);
                        }
                        break;
                    case "cmdNext":
                        if (objPageIndex != null)
                        {
                            if (pageIndex == pageCount - 1)
                            {
                                ((WebDataSource)ds).GetNextPacket();
                            }
                            obj.GetType().GetProperty("PageIndex").SetValue(obj, pageIndex + 1, null);
                        }
                        break;
                    case "cmdLast":
                        bool b = false;
                        while (!ds.Eof)
                        {
                            ds.GetNextPacket();
                            b = true;
                        }
                        DataBind();
                        obj.GetType().GetProperty("PageIndex").SetValue(obj, pageCount - 1, null);
                        break;
                    case "cmdAdd":
                        if (ds.AllowAdd)
                        {
                            //AddNewRow
                            obj.GetType().GetMethod("AddNewRow").Invoke(obj, null);
                            this.SetState(NavigatorState.Inserting);
                            this.SetNavState("Inserting");
                        }
                        else
                        {
                            language = CliUtils.fClientLang;
                            String message = SysMsg.GetSystemMessage(language, "Srvtools", "WebDataSource", "rightToAdd", true);
                            CliUtils.RegisterStartupScript(this, "alert('" + message + "')");
                        }
                        break;
                    case "cmdUpdate":
                        if (ds.AllowUpdate)
                        {
                            if (!ds.IsEmpty)
                            {
                                this.SetState(NavigatorState.Editing);
                                this.SetNavState("Editing");
                            }
                        }
                        else
                        {
                            language = CliUtils.fClientLang;
                            String message = SysMsg.GetSystemMessage(language, "Srvtools", "WebDataSource", "rightToUpdate", true);
                            CliUtils.RegisterStartupScript(this, "alert('" + message + "')");
                        }
                        break;
                    case "cmdDelete":
                        if (ds.AllowDelete)
                            ;
                        else
                        {
                            language = CliUtils.fClientLang;
                            String message = SysMsg.GetSystemMessage(language, "Srvtools", "WebDataSource", "rightToDelete", true);
                            CliUtils.RegisterStartupScript(this, "alert('" + message + "')");
                        }
                        break;
                    case "cmdOK":
                    case "cmdApply":
                        obj.GetType().GetMethod("UpdateEdit").Invoke(obj, null);
                        this.SetState(NavigatorState.Changed);
                        this.SetNavState("Changing");
                        break;
                    case "cmdCancel":
                    case "cmdAbort":
                        obj.GetType().GetMethod("CancelEdit").Invoke(obj, null);

                        //if (formView.DataHasChanged)
                        //{
                        //    this.SetState(NavigatorState.Changed);
                        //    this.SetNavState("Changing");
                        //}
                        //else
                        {
                            this.SetState(NavigatorState.Browsing);
                            this.SetNavState("Browsed");
                        }
                        break;
                    //case "cmdApply":
                    //    if (formView.CurrentMode == FormViewMode.Insert)
                    //        formView.InsertItem(false);
                    //    else if (formView.CurrentMode == FormViewMode.Edit)
                    //        formView.UpdateItem(false);
                    //    if (formView.CurrentMode == FormViewMode.ReadOnly) //防止formview updating event 调用 e.cancel == true; navigator state会变
                    //    {
                    //        bool bSucess = ds.ApplyUpdates();
                    //        if (bSucess && !formView.ValidateFailed)
                    //        {
                    //            if (ds.AutoRecordLock)
                    //            {
                    //                ds.RemoveLock();
                    //            }
                    //            this.SetState(NavigatorState.ApplySucess);
                    //            this.SetNavState("Browsed");
                    //            FlowApply();
                    //        }
                    //        else
                    //        {
                    //            this.SetState(NavigatorState.ApplyFail);
                    //            if (formView.CurrentMode == FormViewMode.Edit)
                    //                this.SetNavState("Editing");
                    //            else if (formView.CurrentMode == FormViewMode.Insert)
                    //                this.SetNavState("Inserting");
                    //        }
                    //    }
                    //    break;
                    //case "cmdAbort":
                    //    ds.InnerDataSet.RejectChanges();
                    //    formView.DataBind();
                    //    if (formView.CurrentMode == FormViewMode.Insert || formView.CurrentMode == FormViewMode.Edit)
                    //    {
                    //        formView.ChangeMode(formView.DefaultMode);

                    //    }
                    //    if (ds.AutoRecordLock)
                    //    {
                    //        ds.RemoveLock();
                    //    }
                    //    this.SetState(NavigatorState.Aborted);
                    //    this.SetNavState("Browsed");
                    //    FlowAbort();
                    //    formView.OnCanceled(EventArgs.Empty);
                    //    break;
                    case "cmdQuery":
                        if (ViewExist)
                        {
                            ds = this.GetObjByID(viewGridView.DataSourceID) as WebDataSource;
                        }
                        DoQuery(ds);
                        break;
                    case "cmdPrint":
                        if (ViewExist)
                        {
                            if (ds.AllowPrint)
                            { }
                            else
                            {
                                language = CliUtils.fClientLang;
                                String message = SysMsg.GetSystemMessage(language, "Srvtools", "WebDataSource", "rightToPrint", true);
                                CliUtils.RegisterStartupScript(this, "alert('" + message + "')");
                            }
                        }
                        else
                        {
                            if (ds.AllowPrint)
                            { }
                            else
                            {
                                language = CliUtils.fClientLang;
                                String message = SysMsg.GetSystemMessage(language, "Srvtools", "WebDataSource", "rightToPrint", true);
                                CliUtils.RegisterStartupScript(this, "alert('" + message + "')");
                            }
                        }
                        break;
                    case "cmdExport":
                        Export();
                        break;
                    default:
                        FormViewFlowCommand(e);
                        break;
                }
                #endregion

            }
        }
示例#15
0
        private void DoQuery(WebDataSource ds)
        {
            if (this.QueryMode == QueryModeType.Normal)
            {
                string param = "MultiLan=" + this.MultiLanguage.ToString() + "&Params=";
                DataColumnCollection dcc = (ds.CommandTable == null) ? ds.InnerDataSet.Tables[0].Columns : ds.CommandTable.Columns;
                // 添加要用于查询的字段
                StringBuilder Params = new StringBuilder();
                StringBuilder DataTypes = new StringBuilder();
                StringBuilder Conditions = new StringBuilder();
                StringBuilder IsNvarchars = new StringBuilder();
                if (this.QueryFields.Count > 0)
                {
                    foreach (WebQueryField f in this.QueryFields)
                    {
                        if (dcc.Contains(f.FieldName))
                        {
                            Params.Append(dcc[f.FieldName].ColumnName);
                            Params.Append(";");
                            DataTypes.Append(dcc[f.FieldName].DataType);
                            DataTypes.Append(";");
                            Conditions.Append(f.Condition);
                            Conditions.Append(";");
                            IsNvarchars.Append(f.IsNvarChar);
                            IsNvarchars.Append(";");
                        }
                    }
                }
                else
                {
                    foreach (DataColumn dc in dcc)
                    {
                        Params.Append(dc.ColumnName);
                        Params.Append(";");
                        DataTypes.Append(dc.DataType);
                        DataTypes.Append(";");

                    }
                }
                param += Params.Remove(Params.Length - 1, 1).ToString();
                param += "&DataTypes=";
                param += DataTypes.Remove(DataTypes.Length - 1, 1).ToString();
                if (Conditions.Length > 0)
                {
                    param += "&Conditions=";
                    param += Conditions.Remove(Conditions.Length - 1, 1).ToString();
                }
                if (IsNvarchars.Length > 0)
                {
                    param += "&IsNvarchars=";
                    param += IsNvarchars.Remove(IsNvarchars.Length - 1, 1).ToString();
                }
                // 添加原始page的url
                param += "&PagePath=" + Page.Request.FilePath;
                // 添加query的对象(WebDataSource)
                param += "&DataSourceID=" + ds.ID;
                // 添加query的dataset对象id, 和DbAlias, CommandText对象
                string dsId = "", selAlias = "", cmdText = "";
                dsId = ds.WebDataSetID;
                selAlias = ds.SelectAlias;
                cmdText = ds.SelectCommand;
                param += "&DataSetID=" + dsId + "&DbAlias=" + selAlias + "&CommandText=" + cmdText;
                string itemparam = this.Page.Request.QueryString["ItemParam"] != null ? HttpUtility.UrlEncode(this.Page.Request.QueryString["ItemParam"]) : string.Empty;
                param += "&ItemParam=" + itemparam;
                string flowUrl = this.getFlowUrl();
                param += flowUrl;
                if (QueryStyle == QueryStyleType.Dialog)
                {
                    param += "&Dialog=true";
                }

                string url = @"../InnerPages/frmNavQuery.aspx?";
                if (SessionRequest.Enable)
                {
                    SessionRequest sessionRequest = new SessionRequest(this.Page);
                    url += sessionRequest.SetRequestValue(param);
                }
                else
                {
                    url += param;
                }
                if (QueryStyle == QueryStyleType.NewPage)
                {
                    Page.Response.Redirect(url);
                }
                else
                {
                    string script = string.Format("window.open('{0}','','left=200,top=200,width=600,scrollbars=yes,resizable=yes,toolbar=no,menubar=no,location=no,status=no')"
                        , url, flowUrl);
                    ScriptHelper.RegisterStartupScript(this, script);
                }
            }
            else if (this.QueryMode == QueryModeType.ClientQuery)
            {
                WebClientQuery wcq = CopyQueryFileds(1, true);
                if (QueryStyle == QueryStyleType.NewPage)
                {
                    wcq.Execute();
                }
                else
                {
                    wcq.Execute(true);
                }
            }
            else if (this.QueryMode == QueryModeType.AnyQuery)
            {
                WebAnyQuery waq = CopyAnyQueryFileds(1, true);
                if (QueryStyle == QueryStyleType.NewPage)
                {
                    waq.Execute();
                }
                else
                {
                    waq.Execute(true);
                }
            }
        }
示例#16
0
    private void IntialEditItem()
    {
        int columnNum = arrEditColumn.Length;
        labels = new Label[columnNum];
        dropDownlists = new DropDownList[columnNum];
        textBoxes = new TextBox[columnNum];
        webRefVals = new WebRefVal[columnNum];
        webDateTimePickers = new WebDateTimePicker[columnNum];
        TableRow[] trText= new TableRow[columnNum];
        int cmdIndex = 0;

        for (int i = 0; i < columnNum; i++)
        {
            TableCell tcLabel = new TableCell();
            TableCell tcText = new TableCell();
            tcLabel.HorizontalAlign = HorizontalAlign.Center;
            tcLabel.VerticalAlign = VerticalAlign.Top;
            tcText.HorizontalAlign = HorizontalAlign.Left;
            tcText.VerticalAlign = VerticalAlign.Top;

            //create captionlabel
            labels[i] = new Label();
            labels[i].ID = "lbl" + i.ToString();
            labels[i].Width = 48;
            labels[i].Text = arrEditCation[i];
            tcLabel.Controls.Add(labels[i]);
            switch (arrEditColumnType[i])
            {
                case "TextBoxColumn":
                    {
                        textBoxes[i] = new TextBox();
                        textBoxes[i].ID = "txt" + i.ToString();
                        textBoxes[i].Width = 112;
                        if (string.Compare(strMode, "update", true) == 0)//IgnoreCase
                        {
                            textBoxes[i].Text = GetText(arrEditColumn[i]);
                        }
                        else
                        {
                            textBoxes[i].Text = arrDefaultValue[i];
                        }
                        tcText.Controls.Add(textBoxes[i]);
                        break;

                    }

                case "ComboBoxColumn":
                    {
                        dropDownlists[i] = new DropDownList();
                        dropDownlists[i].ID = "txt" + i.ToString();
                        dropDownlists[i].Width = 112;
                        int dsidnum = lstDataSetID.IndexOf(arrRefValDSID[i]);
                        if (dsidnum >= 0)
                        {
                            dropDownlists[i].DataSourceID = "refvalds" + dsidnum.ToString();
                        }
                        else
                        {
                            refValDateSourcecmd[cmdIndex] = new WebDataSource();
                            refValDateSourcecmd[cmdIndex].SelectAlias = arrRefValAlias[i];
                            refValDateSourcecmd[cmdIndex].SelectCommand = arrRefValCMD[i];
                            refValDateSourcecmd[cmdIndex].ID = "refvalcmd" + cmdIndex.ToString();
                            this.Form.Controls.Add(refValDateSourcecmd[cmdIndex]);
                            dropDownlists[i].DataSourceID = "refvalcmd" + cmdIndex.ToString();
                            cmdIndex++;
                        }
                        dropDownlists[i].DataTextField = arrRefValTF[i];
                        dropDownlists[i].DataValueField = arrRefValVF[i];

                        if (string.Compare(strMode, "update", true) == 0)//IgnoreCase
                        {
                            if (GetText(arrEditColumn[i]) != "")
                            {
                                try
                                {
                                    dropDownlists[i].SelectedValue = GetText(arrEditColumn[i]);
                                }
                                catch
                                { }
                            }
                        }
                        else
                        {
                            try
                            {
                                if (arrDefaultValue[i] != "")
                                {
                                    dropDownlists[i].SelectedValue = arrDefaultValue[i];
                                }
                            }
                            catch
                            { }
                        }
                        tcText.Controls.Add(dropDownlists[i]);
                        break;
                    }
                case "RefValColumn":
                    {
                        webRefVals[i] = new WebRefVal();
                        webRefVals[i].ID = "txt" + i.ToString();
                        webRefVals[i].Width = 112;
                        int dsidnum = lstDataSetID.IndexOf(arrRefValDSID[i]);
                        if (dsidnum >= 0)
                        {
                            webRefVals[i].DataSourceID = "refvalds" + dsidnum.ToString();
                            webRefVals[i].ResxDataSet = arrRefValDSID[i];
                            webRefVals[i].ResxFilePath = psyPath + ".vi-VN.resx";
                        }
                        else
                        {
                            refValDateSourcecmd[cmdIndex] = new WebDataSource();
                            refValDateSourcecmd[cmdIndex].SelectAlias = arrRefValAlias[i];
                            refValDateSourcecmd[cmdIndex].SelectCommand = arrRefValCMD[i];
                            refValDateSourcecmd[cmdIndex].ID = "refvalcmd" + cmdIndex.ToString();
                            this.Form.Controls.Add(refValDateSourcecmd[cmdIndex]);
                            webRefVals[i].DataSourceID = "refvalcmd" + cmdIndex.ToString();
                            cmdIndex++;
                        }
                        webRefVals[i].DataTextField = arrRefValTF[i];
                        webRefVals[i].DataValueField = arrRefValVF[i];

                        #region Add WebRefval other properties
                        if (arrRefValColumnMatch[i] != string.Empty)
                        {
                            string[] columnmatch = arrRefValColumnMatch[i].Split(':');
                            WebColumnMatch[] wcm = new WebColumnMatch[columnmatch.Length];
                            for (int j = 0; j < columnmatch.Length; j++)
                            {
                                string[] columnmatchcontext = columnmatch[j].Split(',');
                                wcm[j] = new WebColumnMatch(columnmatchcontext[1], columnmatchcontext[2], columnmatchcontext[0]);
                                webRefVals[i].ColumnMatch.Add(wcm[j]);
                            }
                        }
                        if (arrRefValColumns[i] != string.Empty)
                        {
                            string[] columns = arrRefValColumns[i].Split(':');
                            WebRefColumn[] wrc = new WebRefColumn[columns.Length];
                            for (int j = 0; j < columns.Length; j++)
                            {
                                string[] columnscontext = columns[j].Split(',');
                                wrc[j] = new WebRefColumn(columnscontext[0], columnscontext[1], int.Parse(columnscontext[2]));
                                webRefVals[i].Columns.Add(wrc[j]);
                            }
                        }
                        if (arrRefValWhereItem[i] != string.Empty)
                        {
                            string[] whereitem = arrRefValWhereItem[i].Split(':');
                            WebWhereItem[] wwi = new WebWhereItem[whereitem.Length];
                            for (int j = 0; j < whereitem.Length; j++)
                            {
                                string[] whereitemcontext = whereitem[j].Split(',');
                                wwi[j] = new WebWhereItem(whereitemcontext[1], whereitemcontext[0], whereitemcontext[2]);
                                webRefVals[i].WhereItem.Add(wwi[j]);
                            }
                        }
                        #endregion

                        if (string.Compare(strMode, "update", true) == 0)//IgnoreCase
                        {
                            if (GetText(arrEditColumn[i]) != "")
                            {
                                try
                                {
                                    webRefVals[i].BindingValue = GetText(arrEditColumn[i]);
                                }
                                catch
                                { }
                            }
                        }
                        else
                        {
                            try
                            {
                                webRefVals[i].BindingValue = arrDefaultValue[i];
                            }
                            catch
                            { }

                        }

                        tcText.Controls.Add(webRefVals[i]);

                        break;
                    }
                case "CalendarColumn":
                    {
                        webDateTimePickers[i] = new WebDateTimePicker();
                        webDateTimePickers[i].ID = "txt" + i.ToString();
                        webDateTimePickers[i].DateFormat = dateFormat.ShortDate;
                        webDateTimePickers[i].Width = 112;

                        if (string.Compare(strMode, "update", true) == 0)//IgnoreCase
                        {
                            if (GetText(arrEditColumn[i]) != "")
                            {
                                try
                                {
                                    webDateTimePickers[i].Text = GetText(arrEditColumn[i]);
                                }
                                catch
                                { }
                            }
                        }
                        else
                        {
                            try
                            {
                                webDateTimePickers[i].Text = arrDefaultValue[i];
                            }
                            catch
                            { }
                        }

                        tcText.Controls.Add(webDateTimePickers[i]);

                        break;
                    }
                case "RadioButtonColumn":
                    {

                        break;
                    }
            }

            trText[i] = new TableRow();
            trText[i].Cells.Add(tcLabel);
            trText[i].Cells.Add(tcText);
            table.Controls.Add(trText[i]);

        }
        pnTreeView.Controls.Add(table);
    }
示例#17
0
    private List<string> GetDD(string[] fieldName)
    {
        WebDataSource wds = new WebDataSource();
        wds.SelectAlias = dbAlias;
        wds.SelectCommand = commandText;
        string strRemoteModule = GetRemoteName(pagePath, dataSetID);
        wds.RemoteName = strRemoteModule;
        if (!string.IsNullOrEmpty(wds.RemoteName))
        {
            wds.DataMember = wds.RemoteName.Split('.')[1];

        }
        DataSet ds = DBUtils.GetDataDictionary(wds, false);

        string CaptionNum = "CAPTION";
        if (string.Compare(this.sessionRequest["MultiLan"], "true", true) == 0)//IgnoreCase
        {
            switch (CliUtils.fClientLang)
            {
                case SYS_LANGUAGE.ENG:
                    CaptionNum = "CAPTION1"; break;
                case SYS_LANGUAGE.TRA:
                    CaptionNum = "CAPTION2"; break;
                case SYS_LANGUAGE.SIM:
                    CaptionNum = "CAPTION3"; break;
                case SYS_LANGUAGE.HKG:
                    CaptionNum = "CAPTION4"; break;
                case SYS_LANGUAGE.JPN:
                    CaptionNum = "CAPTION5"; break;
                case SYS_LANGUAGE.LAN1:
                    CaptionNum = "CAPTION6"; break;
                case SYS_LANGUAGE.LAN2:
                    CaptionNum = "CAPTION7"; break;
                case SYS_LANGUAGE.LAN3:
                    CaptionNum = "CAPTION8"; break;
            }
        }
        List<string> DD = new List<string>();
        if (ds.Tables.Count != 0)
        {
            int i = fieldName.Length;
            for (int j = 0; j < i; j++)
            {
                bool DDFound = false;
                int x = ds.Tables[0].Rows.Count;
                for (int y = 0; y < x; y++)
                {
                    if (string.Compare(ds.Tables[0].Rows[y]["FIELD_NAME"].ToString().Trim(), fieldName[j].Trim(), true) == 0//IgnoreCase
                        && ds.Tables[0].Rows[y][CaptionNum].ToString() != "")
                    {
                        DD.Add(ds.Tables[0].Rows[y][CaptionNum].ToString());
                        DDFound = true;
                    }
                }
                if (!DDFound)
                {
                    DD.Add(fieldName[j]);
                }
            }
        }
        return DD;
    }
示例#18
0
 public WebDataSourceActionList(IComponent component)
     : base(component)
 {
     this.webDataSource = component as WebDataSource;
 }
示例#19
0
 public string GenDefaultValues(WebDataSource wds)
 {
     StringBuilder builder = new StringBuilder();
     builder.Append("{");
     DataTable tab = wds.InnerDataSet.Tables[wds.DataMember];
     foreach (ExtGridColumn column in this.Columns)
     {
         if (!string.IsNullOrEmpty(column.DefaultValue))
         {
             Type type = tab.Columns[column.DataField].DataType;
             if (GloFix.IsNumeric(type))
             {
                 builder.AppendFormat("{0}:{1},", column.DataField, column.DefaultValue);
             }
             else if (type == typeof(Boolean))
             {
                 builder.AppendFormat("{0}:{1},", column.DataField, column.DefaultValue.ToLower());
             }
             else
             {
                 builder.AppendFormat("{0}:'{1}',", column.DataField, column.DefaultValue);
             }
         }
         else if (!string.IsNullOrEmpty(column.DefaultMethod))
         {
             if (column.DefaultMethod.IndexOf('.') != -1)
             {
                 builder.AppendFormat("{0}:'@srvMethod:{1}',", column.DataField, column.DefaultMethod);
             }
             else
             {
                 builder.AppendFormat("{0}:{1}(),", column.DataField, column.DefaultMethod);
             }
         }
     }
     //if (!string.IsNullOrEmpty(wds.MasterDataSource))
     //{
     //    builder.Append(GloFix.GetWhereString(tab, wds.RelationValues, ":", ","));
     //}
     if (builder.ToString().EndsWith(","))
     {
         builder.Remove(builder.Length - 1, 1);
     }
     builder.Append("}");
     return builder.ToString();
 }
示例#20
0
        //public void Execute(Panel pn)
        //{
        //    this.Execute(pn, true);
        //}
        //public void Execute(Panel pn, bool noredirect)
        //{
        //    string wherestring = GetWhere(pn);
        //    for (int i = 0; i < this.Columns.Count; i++)
        //    {
        //        WebAnyQueryColumns column = this.Columns[i] as WebAnyQueryColumns;
        //        if (column.NotNull && string.IsNullOrEmpty(column.Text))
        //        {
        //            this.Page.ClientScript.RegisterStartupScript(typeof(string), ""
        //                , string.Format("<script>alert('{0} can not be empty')</script>", column.Caption));
        //            return;
        //        }
        //    }
        //    if (noredirect)
        //    {
        //        WebDataSource wds = (WebDataSource)GetObjByID(this.DataSourceID);
        //        wds.SetWhere(wherestring);
        //    }
        //    else
        //    {
        //        this.Page.Response.Redirect(this.Page.Request.FilePath + "?Filter=" + HttpUtility.UrlEncode(wherestring) + "&DataSourceID=" + this.DataSourceID
        //          + "&QueryText=" + querytext + "&PanelID=" + pn.ID + "&IsQueryBack=1" + "&WebAnyQueryID=" + this.ID);
        //    }
        //}
        private string AddParam()
        {
            WebDataSource wds = new WebDataSource();
            wds = (WebDataSource)GetObjByID(this.DataSourceID);

            if (this.Columns.Count == 0)
            {
                throw new Exception("no columns in ClientQuery");
            }

            string url = "Caption=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                url += HttpUtility.UrlEncode(qc.Caption) + ";";
            }
            url = url.Substring(0, url.LastIndexOf(';'));
            url += "&Column=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                if (qc.Column == string.Empty)
                {
                    throw new Exception(string.Format("The columnname of column[{0}] is empty", this.Columns.GetItemIndex(qc).ToString()));
                }
                url += qc.Column + ";";
            }

            url = url.Substring(0, url.LastIndexOf(';'));
            url += "&Condition=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                url += qc.Condition + ";";
            }
            url = url.Substring(0, url.LastIndexOf(';'));
            url += "&Operator=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                url += qc.Operator + ";";
            }
            url = url.Substring(0, url.LastIndexOf(';'));
            url += "&Columntype=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                url += qc.ColumnType + ";";
            }
            url = url.Substring(0, url.LastIndexOf(';'));
            url += "&Textwidth=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                url += qc.Width.ToString() + ";";
            }
            url = url.Substring(0, url.LastIndexOf(';'));
            url += "&Text=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                url += qc.Text + ";";
            }
            url = url.Substring(0, url.LastIndexOf(';'));
            url += "&Defaultvalue=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                if (GetDefaultValue(qc.DefaultValue) != null)
                {
                    url += GetDefaultValue(qc.DefaultValue).ToString() + ";";
                }
                else
                {
                    url += ";";
                }
            }
            url = url.Substring(0, url.LastIndexOf(';'));
            url += "&Enabled=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                url += qc.Enabled.ToString() + ";";
            }
            url = url.Substring(0, url.LastIndexOf(';'));
            url += "&AutoSelect=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                url += qc.AutoSelect.ToString() + ";";
            }
            url = url.Substring(0, url.LastIndexOf(';'));
            //url += "&Items=";
            //foreach (WebAnyQueryColumns qc in this.Columns)
            //{
            //    url += qc + ";";
            //}
            //url = url.Substring(0, url.LastIndexOf(';'));

            #region refval
            url += "&Refvalvf=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                if (qc.WebRefVal == string.Empty || qc.WebRefVal == null)
                {
                    url += ";";
                }
                else
                {
                    WebRefVal wrv = (WebRefVal)GetObjByID(qc.WebRefVal);
                    url += wrv.DataValueField + ";";
                }
            }
            url = url.Substring(0, url.LastIndexOf(';'));

            url += "&Refvaltf=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                if (qc.WebRefVal == string.Empty || qc.WebRefVal == null)
                {
                    url += ";";
                }
                else
                {
                    WebRefVal wrv = (WebRefVal)GetObjByID(qc.WebRefVal);
                    url += wrv.DataTextField + ";";
                }
            }
            url = url.Substring(0, url.LastIndexOf(';'));

            url += "&Refvalcd=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                if (qc.WebRefVal == string.Empty || qc.WebRefVal == null)
                {
                    url += ";";
                }
                else
                {
                    WebRefVal wrv = (WebRefVal)GetObjByID(qc.WebRefVal);
                    url += wrv.CheckData.ToString() + ";";
                }
            }
            url = url.Substring(0, url.LastIndexOf(';'));

            url += "&Refvalselcmd=";
            String strRefvalselcmd = String.Empty;
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                if (qc.WebRefVal == string.Empty || qc.WebRefVal == null)
                {
                    url += ";";
                }
                else
                {
                    WebRefVal wrv = (WebRefVal)GetObjByID(qc.WebRefVal);
                    WebDataSource refvalwds = (WebDataSource)GetObjByID(wrv.DataSourceID);
                    url += HttpUtility.UrlEncode(refvalwds.SelectCommand.Replace("\r\n", " ")) + ";";
                }
            }
            url = url.Substring(0, url.LastIndexOf(';'));

            url += "&Refvalselalias=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                if (qc.WebRefVal == string.Empty || qc.WebRefVal == null)
                {
                    url += ";";
                }
                else
                {
                    WebRefVal wrv = (WebRefVal)GetObjByID(qc.WebRefVal);
                    WebDataSource refvalwds = (WebDataSource)GetObjByID(wrv.DataSourceID);
                    url += refvalwds.SelectAlias + ";";
                }
            }
            url = url.Substring(0, url.LastIndexOf(';'));

            url += "&Refvaldstid=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                if (qc.WebRefVal == string.Empty || qc.WebRefVal == null)
                {
                    url += ";";
                }
                else
                {
                    WebRefVal wrv = (WebRefVal)GetObjByID(qc.WebRefVal);
                    WebDataSource refvalwds = (WebDataSource)GetObjByID(wrv.DataSourceID);
                    url += refvalwds.WebDataSetID + ";";
                }
            }
            url = url.Substring(0, url.LastIndexOf(';'));

            url += "&Refvaldm=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                if (qc.WebRefVal == string.Empty || qc.WebRefVal == null)
                {
                    url += ";";
                }
                else
                {
                    WebRefVal wrv = (WebRefVal)GetObjByID(qc.WebRefVal);
                    WebDataSource refvalwds = (WebDataSource)GetObjByID(wrv.DataSourceID);
                    url += refvalwds.DataMember + ";";
                }
            }
            url = url.Substring(0, url.LastIndexOf(';'));

            url += "&RefvalSize=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                if (qc.WebRefVal == string.Empty || qc.WebRefVal == null)
                {
                    url += ";";
                }
                else
                {
                    WebRefVal wrv = (WebRefVal)GetObjByID(qc.WebRefVal);

                    url += wrv.OpenRefHeight.ToString() + "," + wrv.OpenRefLeft.ToString() + "," + wrv.OpenRefTop.ToString() + "," + wrv.OpenRefWidth.ToString() + ";";
                }
            }
            url = url.Substring(0, url.LastIndexOf(';'));

            #region Refvalcolumnmatch
            url += "&Refvalcolumnmatch=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                if (qc.WebRefVal == string.Empty || qc.WebRefVal == null)
                {
                    url += ";";
                }
                else
                {
                    WebRefVal wrv = (WebRefVal)GetObjByID(qc.WebRefVal);

                    if (wrv.ColumnMatch.Count > 0)
                    {
                        foreach (WebColumnMatch wcm in wrv.ColumnMatch)
                        {
                            url += wcm.DestControlID + "," + wcm.SrcField + "," + wcm.SrcGetValue + ":";

                        }
                        url = url.Substring(0, url.LastIndexOf(':'));
                    }
                    url += ";";
                }
            }
            url = url.Substring(0, url.LastIndexOf(';'));
            #endregion

            #region Refvalcolumns
            url += "&Refvalcolumns=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                if (qc.WebRefVal == string.Empty || qc.WebRefVal == null)
                {
                    url += ";";
                }
                else
                {
                    WebRefVal wrv = (WebRefVal)GetObjByID(qc.WebRefVal);

                    if (wrv.Columns.Count > 0)
                    {
                        foreach (WebRefColumn wrc in wrv.Columns)
                        {
                            url += wrc.ColumnName + "," + wrc.HeadText + "," + wrc.Width.ToString() + ":";

                        }
                        url = url.Substring(0, url.LastIndexOf(':'));
                    }
                    url += ";";
                }
            }
            url = url.Substring(0, url.LastIndexOf(';'));
            #endregion

            #region Refvalwhereitem
            url += "&Refvalwhereitem=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                if (qc.WebRefVal == string.Empty || qc.WebRefVal == null)
                {
                    url += ";";
                }
                else
                {
                    WebRefVal wrv = (WebRefVal)GetObjByID(qc.WebRefVal);

                    if (wrv.WhereItem.Count > 0)
                    {
                        foreach (WebWhereItem wwi in wrv.WhereItem)
                        {
                            url += wwi.Condition + "," + wwi.FieldName + "," + wwi.Value + ":";

                        }
                        url = url.Substring(0, url.LastIndexOf(':'));
                    }
                    url += ";";
                }
            }
            url = url.Substring(0, url.LastIndexOf(';'));
            #endregion

            #endregion

            #region refbutton
            url += "&RefButtonurl=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                if (qc.WebRefButton == string.Empty || qc.WebRefButton == null)
                {
                    url += "@";
                }
                else
                {
                    WebRefButton wrb = (WebRefButton)GetObjByID(qc.WebRefButton);
                    url += wrb.RefURL + "@";
                }
            }
            url = url.Substring(0, url.LastIndexOf("@"));

            url += "&RefButtonurlSize=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                if (qc.WebRefButton == string.Empty || qc.WebRefButton == null)
                {
                    url += ";";
                }
                else
                {
                    WebRefButton wrb = (WebRefButton)GetObjByID(qc.WebRefButton);
                    url += wrb.RefURLHeight.ToString() + "," + wrb.RefURLLeft.ToString() + "," + wrb.RefURLTop.ToString() + "," + wrb.RefURLWidth.ToString() + ";";
                }
            }
            url = url.Substring(0, url.LastIndexOf(";"));

            url += "&RefButtoncaption=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                if (qc.WebRefButton == string.Empty || qc.WebRefButton == null)
                {
                    url += ";";
                }
                else
                {
                    WebRefButton wrb = (WebRefButton)GetObjByID(qc.WebRefButton);
                    url += wrb.Caption + ";";
                }
            }
            url = url.Substring(0, url.LastIndexOf(";"));
            #endregion

            url += "&Datatype=";
            foreach (WebAnyQueryColumns qc in this.Columns)
            {
                string strtype = wds.InnerDataSet.Tables[wds.DataMember].Columns[qc.Column].DataType.ToString();
                url += strtype + ";";
            }
            url = url.Substring(0, url.LastIndexOf(';'));

            url += "&Pagepath=" + this.Page.Request.FilePath;
            url += "&Psypagepath=" + HttpUtility.UrlEncode(this.Page.Request.PhysicalPath);
            url += "&DataSourceID=" + this.DataSourceID;
            url += "&RemoteName=" + wds.RemoteName;
            url += "&WebAnyQueryID=" + this.ID;
            url += "&WebDataSetID=" + wds.WebDataSetID;
            url += "&QueryColumnMode=" + this.QueryColumnMode;
            url += "&AutoDisableColumns=" + this.AutoDisableColumns;
            url += "&DataMember=" + wds.DataMember;
            url += "&MaxColumnCount=" + this.MaxColumnCount;
            url += "&AnyQueryID=" + this.AnyQueryID;
            url += "&AllowAddQueryField=" + this.AllowAddQueryField;
            url += "&DisplayAllOperator=" + this.DisplayAllOperator;

            string itemparam = this.Page.Request.QueryString["ItemParam"] != null ? HttpUtility.UrlEncode(this.Page.Request.QueryString["ItemParam"]) : string.Empty;
            url += "&ItemParam=" + itemparam;
            return url;
        }
示例#21
0
        public string GenWhereItemConfig(WebDataSource wds)
        {
            StringBuilder builder = new StringBuilder();
            if (this.WhereItem.Count > 0)
            {
                DataTable tab = null;
                if (!string.IsNullOrEmpty(wds.SelectAlias) && !string.IsNullOrEmpty(wds.SelectCommand))
                {
                    tab = wds.CommandTable;
                }
                else
                {
                    tab = wds.InnerDataSet.Tables[wds.DataMember];
                }

                StringBuilder whereBuilder = new StringBuilder();
                StringBuilder mtdBuilder = new StringBuilder();
                foreach (ExtWhereItem wi in this.WhereItem)
                {
                    if (!string.IsNullOrEmpty(wi.Value))
                    {
                        Type type = tab.Columns[wi.FieldName].DataType;
                        string quote = "", value = wi.Value;
                        string condition = wi.Condition;
                        if (GloFix.IsNumeric(type) || type == typeof(Boolean))
                        {
                            if (condition == "%" || condition == "%%")
                            {
                                condition = "=";
                            }
                        }
                        else
                        {
                            quote = "'";
                            if (condition == "%")
                            {
                                condition = "like";
                                value = string.Format("{0}%", value);
                            }
                            else if(condition == "%%")
                            {
                                condition = "like";
                                value = string.Format("%{0}%", value);
                            }
                        }
                        if (condition == "!=")
                        {
                            condition = "<>";
                        }
                        if (whereBuilder.Length == 0)
                        {
                            whereBuilder.AppendFormat("[{0}] {1} {2}{3}{2}", wi.FieldName, condition, quote, value);
                        }
                        else
                        {
                            whereBuilder.AppendFormat(" AND [{0}] {1} {2}{3}{2}", wi.FieldName, condition, quote, value);
                        }
                    }
                    else if (!string.IsNullOrEmpty(wi.ValueMethod))
                    {
                        mtdBuilder.Append("{");
                        mtdBuilder.AppendFormat("field:'{0}',condition:'{1}',method:'{2}'", wi.FieldName, wi.Condition, wi.ValueMethod);
                        mtdBuilder.Append("},");
                    }
                }
                if (mtdBuilder.ToString().EndsWith(","))
                {
                    mtdBuilder.Remove(mtdBuilder.Length - 1, 1);
                }
                if (whereBuilder.Length > 0)
                {
                    builder.AppendFormat("where:\"{0}\",", whereBuilder.ToString());
                }
                if (mtdBuilder.Length > 0)
                {
                    builder.AppendFormat("whereMethods:Ext.encode([{0}]),", mtdBuilder.ToString());
                }
            }
            return builder.ToString();
        }
示例#22
0
        public void Execute(bool progress)
        {
            if ((SrcDataSorce != null || SrcDataSorce != "") && (DestDataSorce != "" || DestDataSorce != null))
            {
                bool tempSrc = false;
                bool tempDest = false;
                WebGridView wgv = new WebGridView();
                WebDetailsView wdv = new WebDetailsView();
                WebFormView wfv = new WebFormView();

                WebDataSource wsSrc = new WebDataSource();
                DataSet dsSrc = new DataSet();
                WebDataSource wsDest = new WebDataSource();
                DataSet dsDest = new DataSet();
                WebDataSource wsDestM = new WebDataSource();
                foreach (System.Web.UI.Control c in this.Page.Form.Controls)
                {
                    if (c is WebDataSource && (c as WebDataSource).ID == this.SrcDataSorce)
                    {
                        wsSrc = c as WebDataSource;
                        tempSrc = wsSrc.AutoApply;
                        wsSrc.AutoApply = false;
                        dsSrc = wsSrc.InnerDataSet;
                    }
                    if (c is WebDataSource && (c as WebDataSource).ID == this.DestDataSorce)
                    {
                        wsDest = c as WebDataSource;
                        tempDest = wsDest.AutoApply;
                        wsDest.AutoApply = false;
                        dsDest = wsDest.InnerDataSet;
                        foreach (System.Web.UI.Control ctrl in this.Page.Form.Controls)
                            if (ctrl is WebDataSource && (ctrl as WebDataSource).ID == wsDest.MasterDataSource)
                            {
                                wsDestM = ctrl as WebDataSource;
                                //added by lily 2006/12/14 for detail has no innerdataset
                                dsDest = wsDestM.InnerDataSet;
                                //added by lily 2006/12/14 for detail has no innerdataset
                                break;
                            }
                    }
                }
                bool isGet = false;
                DataTable dtSrc = new DataTable();
                for (int i = 0; i < dsSrc.Relations.Count; i++)
                    foreach (System.Web.UI.Control c in this.Page.Form.Controls)
                        if (c is WebDataSource && (c as WebDataSource).ID == this.SrcDataSorce
                            && (c as WebDataSource).DataMember == dsSrc.Relations[i].ChildTable.ToString())
                        {
                            dtSrc = dsSrc.Relations[i].ChildTable;
                            isGet = true;
                        }
                if (isGet == false)
                    if (dsSrc.Tables.Count > 0)
                        dtSrc = dsSrc.Tables[0];
                    else
                        dtSrc = wsSrc.CommandTable;
                DataTable dtDest = new DataTable();
                isGet = false;
                for (int i = 0; i < dsDest.Relations.Count; i++)
                    foreach (System.Web.UI.Control c in this.Page.Form.Controls)
                        if (c is WebDataSource && (c as WebDataSource).ID == this.DestDataSorce
                            && (c as WebDataSource).DataMember == dsDest.Relations[i].ChildTable.ToString())
                        {
                            dtDest = dsDest.Relations[i].ChildTable;
                            isGet = true;
                        }
                if (isGet == false)
                    dtDest = dsDest.Tables[0];
                DataTable dtDestM = new DataTable();
                isGet = false;
                for (int i = 0; i < wsDestM.InnerDataSet.Relations.Count; i++)
                    if (this.DestDataSorce == wsDestM.InnerDataSet.Relations[i].ChildTable.ToString())
                    {
                        dtDestM = wsDestM.InnerDataSet.Relations[i].ChildTable;
                        isGet = true;
                    }
                if (isGet == false)
                    dtDestM = wsDestM.InnerDataSet.Tables[0];

                DataTable dsDestMaster =dsDest.Tables[0];
                string MasterKey = null;
                foreach (System.Web.UI.Control c in this.Page.Form.Controls)
                {
                    if (c is WebFormView)
                        foreach (System.Web.UI.Control ctrl in this.Page.Form.Controls)
                            if (ctrl is WebDataSource && (ctrl as WebDataSource).ID == (c as WebFormView).DataSourceID
                                && (ctrl as WebDataSource).DataMember == dsDestMaster.ToString())
                            {
                                MasterKey = dsDestMaster.Rows[(c as WebFormView).DataItemIndex][dsDestMaster.PrimaryKey[0].ToString()].ToString();
                                break;
                            }
                    if (c is WebDetailsView)
                        foreach (System.Web.UI.Control ctrl in this.Page.Form.Controls)
                            if (ctrl is WebDataSource && (ctrl as WebDataSource).ID == (c as WebDetailsView).DataSourceID
                                && (ctrl as WebDataSource).DataMember == dsDestMaster.ToString())
                            {
                                MasterKey = dsDestMaster.Rows[(c as WebDetailsView).DataItemIndex][dsDestMaster.PrimaryKey[0].ToString()].ToString();
                                break;
                            }
                }

                //modified by lily 2006/12/14 for: List<> can be added when needed, DataRow[] cannot
                //DataRow[] drDestTemp = new DataRow[dtDest.Rows.Count];

                List<DataRow> drDestTemp = new List<DataRow>();

                for (int i = 0; i < dtDest.Rows.Count; i++)
                    if (dtDest.Rows[i][dsDestMaster.PrimaryKey[0].ToString()].ToString() == MasterKey)
                        drDestTemp.Add(dtDest.Rows[i]);
                        //drDestTemp[i] = dtDest.Rows[i];

                ArrayList strSrc = new ArrayList();
                ArrayList strDest = new ArrayList();
                foreach (WebKeyMatchColumn kmc in this.KeyMatchColumns)
                    if (kmc.SrcColumnName == null || kmc.DestColumnName == null || kmc.SrcColumnName == "" || kmc.DestColumnName == "")
                    {
                        language = CliUtils.fClientLang;
                        string message = SysMsg.GetSystemMessage(language, "Srvtools", "InfoClientMove", "iskeyMatchColumn", true);
                        this.Page.Response.Write("<script>alert(\"" + message + "\");</script>");
                        return;
                    }
                    else
                    {
                        strSrc.Add(kmc.SrcColumnName);
                        strDest.Add(kmc.DestColumnName);
                    }

                for (int i = 0; i < dtSrc.Rows.Count; i++)
                {
                    int flag = 0;
                    Hashtable ht = new Hashtable();
                    if (this.AlwaysInsert == false && strSrc != null && drDestTemp.Count > 0)
                        for (int j = 0; j < drDestTemp.Count; j++)
                        {
                            for (int x = 0; x < strSrc.Count; x++)
                                if (drDestTemp[j] != null && dtSrc.Rows[i][strSrc[x].ToString()].ToString() == drDestTemp[j][strDest[x].ToString()].ToString())
                                    flag++;
                            if (flag == strSrc.Count)
                            {
                                if (this.AlwaysReplace == true)
                                {
                                    for (int x = 0; x < this.MatchColumns.Count; x++)
                                    {
                                        WebMatchColumn mc = this.MatchColumns[x];
                                        if (mc.Expression != null && mc.Expression != "")
                                        {
                                            DataColumn dcExpression = new DataColumn();
                                            dcExpression.ColumnName = mc.Expression;
                                            dcExpression.Expression = mc.Expression;
                                            if (dtSrc.Columns.Contains(dcExpression.ColumnName) == false)
                                                dtSrc.Columns.Add(dcExpression);
                                            drDestTemp[j][mc.DestColumnName] = dtSrc.Rows[i][mc.Expression].ToString();
                                        }
                                        else
                                            drDestTemp[j][mc.DestColumnName] = dtSrc.Rows[i][mc.SrcColumnName].ToString();
                                    }
                                    OnAfterMove(new EventArgs());
                                }
                                break;
                            }
                            else
                                flag = 0;
                        }
                    if (flag != strSrc.Count || strSrc.Count == 0)
                    {
                        DataRow dr = dtDest.NewRow();
                        ht.Add(dsDest.Tables[0].PrimaryKey[0].ToString(), MasterKey);
                        foreach (WebMatchColumn mc in this.MatchColumns)
                            if (mc.Expression != null && mc.Expression != "")
                            {
                                DataColumn dcExpression = new DataColumn();
                                dcExpression.ColumnName = mc.Expression;
                                dcExpression.Expression = mc.Expression;
                                if (dtSrc.Columns.Contains(dcExpression.ColumnName) == false)
                                    dtSrc.Columns.Add(dcExpression);
                                ht.Add(mc.DestColumnName, dtSrc.Rows[i][mc.Expression]);
                            }
                            else
                            {
                                if ((mc.SrcColumnName == "" || mc.DestColumnName == "" || mc.SrcColumnName == null || mc.DestColumnName == null)
                                   && (mc.Expression == null || mc.Expression == ""))
                                {
                                    language = CliUtils.fClientLang;
                                    string message = SysMsg.GetSystemMessage(language, "Srvtools", "InfoClientMove", "ismatchColumn", true);
                                    this.Page.Response.Write("<script>alert(\"" + message + "\");</script>");
                                    return;
                                }
                                else
                                    ht.Add(mc.DestColumnName, dtSrc.Rows[i][mc.SrcColumnName]);
                            }
                        OnAfterMove(new EventArgs());
                        int isExsite = 0;
                        for (int j = 0; j < dtDestM.Rows.Count; j++)
                        {
                            isExsite = 0;
                            for (int x = 0; x < dtDestM.Columns.Count; x++)
                                if (ht[dtDestM.Columns[x].ToString()] != null && ht[dtDestM.Columns[x].ToString()].ToString() == dtDestM.Rows[j][dtDestM.Columns[x].ToString()].ToString())
                                    isExsite++;
                            if (isExsite == ht.Count) break;
                        }
                        if (isExsite != ht.Count)
                        {
                            wsDest.Insert(ht);
                            OnAfterInsert(new EventArgs());
                        }
                    }
                }
                wsSrc.AutoApply = tempSrc;
                wsDest.AutoApply = tempDest;
                if (progress == true)
                {
                    System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ThreadStart(LongTask));
                    thread.Start();
                    this.Page.Session["State"] = 1;
                    OpenProgressBar(this.Page);
                }
                this.Page.DataBind();
            }
        }
示例#23
0
        private void GenMainBlockControl(TBlockItem BlockItem)
        {
            #if VS90
            object oMaster = FDesignerDocument.webControls.item("Master", 0);

            WebDevPage.IHTMLElement eMaster = null;
            WebDevPage.IHTMLElement eWebGridView1 = null;

            if (oMaster == null || !(oMaster is WebDevPage.IHTMLElement))
                return;
            eMaster = (WebDevPage.IHTMLElement)oMaster;

            WebDefault Default = new WebDefault();
            Default.ID = "wd" + WzdUtils.RemoveSpecialCharacters(BlockItem.TableName);
            Default.DataSourceID = eMaster.getAttribute("ID", 0).ToString();
            Default.DataMember = FClientData.TableName;

            WebValidate Validate = new WebValidate();
            Validate.ID = "wv" + WzdUtils.RemoveSpecialCharacters(BlockItem.TableName);
            Validate.DataSourceID = eMaster.getAttribute("ID", 0).ToString();
            Validate.DataMember = FClientData.TableName;

            WebQueryFiledsCollection QueryFields = new WebQueryFiledsCollection(null, typeof(QueryField));
            WebQueryColumnsCollection QueryColumns = new WebQueryColumnsCollection(null, typeof(QueryColumns));
            foreach (TBlockFieldItem fielditem in BlockItem.BlockFieldItems)
            {
                GenDefault(fielditem, Default, Validate);
                GenQuery(fielditem, QueryFields, QueryColumns, BlockItem.TableName);
            }

            WebDevPage.IHTMLElement Page = FDesignerDocument.pageContentElement;
            InsertControl(Page, Default);
            InsertControl(Page, Validate);

            foreach (TBlockFieldItem fielditem in BlockItem.BlockFieldItems)
            {
                foreach (WebQueryColumns wqc in QueryColumns)
                {
                    if (wqc.ColumnType == "ClientQueryRefValColumn" && wqc.Column == fielditem.DataField && fielditem.RefValNo != String.Empty)
                    {
                        WebDataSource aWebDataSource = new WebDataSource();
                        InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType);
                        aInfoCommand.Connection = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, true);
                        //aInfoCommand.Connection = FClientData.Owner.GlobalConnection;
                        IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand);
                        if (FSYS_REFVAL != null)
                            FSYS_REFVAL.Dispose();
                        FSYS_REFVAL = new DataSet();
                        aInfoCommand.CommandText = String.Format("Select * from SYS_REFVAL where REFVAL_NO = '{0}'", fielditem.RefValNo);
                        WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, FSYS_REFVAL, fielditem.RefValNo);

                        WebRefVal aWebRefVal = new WebRefVal();
                        aWebRefVal.ID = wqc.WebRefVal;
                        aWebRefVal.DataTextField = FSYS_REFVAL.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString();
                        aWebRefVal.DataValueField = FSYS_REFVAL.Tables[0].Rows[0]["VALUE_MEMBER"].ToString();
                        aWebRefVal.DataSourceID = String.Format("wds{0}{1}", WzdUtils.RemoveSpecialCharacters(BlockItem.TableName), wqc.Column);
                        aWebRefVal.Visible = false;
                        InsertControl(Page, aWebRefVal);
                        break;
                    }
                    else if (wqc.ColumnType == "ClientQueryComboBoxColumn" && wqc.Column == fielditem.DataField
                        && !String.IsNullOrEmpty(fielditem.ComboTextField) && !String.IsNullOrEmpty(fielditem.ComboValueField))
                    {
                        WebRefVal aWebRefVal = new WebRefVal();
                        aWebRefVal.ID = wqc.WebRefVal;
                        aWebRefVal.DataTextField = fielditem.ComboTextField;
                        aWebRefVal.DataValueField = fielditem.ComboValueField;
                        aWebRefVal.DataSourceID = String.Format("wds{0}{1}", fielditem.ComboEntityName, wqc.Column);
                        aWebRefVal.Visible = false;
                        InsertControl(Page, aWebRefVal);
                        break;
                    }
                }
            }

            WebDevPage.IHTMLElement Navigator = (WebDevPage.IHTMLElement)FDesignerDocument.webControls.item("WebNavigator1", 0);
            if (Navigator != null)
            {
                SetCollectionValue(Navigator, typeof(WebNavigator).GetProperty("QueryFields"), QueryFields);
            }
            WebDevPage.IHTMLElement ClientQuery = (WebDevPage.IHTMLElement)FDesignerDocument.webControls.item("WebClientQuery1", 0);
            if (ClientQuery != null)
            {
                SetCollectionValue(ClientQuery, typeof(WebClientQuery).GetProperty("Columns"), QueryColumns);
            }

            object oWebGridView1 = FDesignerDocument.webControls.item("wgvMaster", 0);
            if (oWebGridView1 == null)
                oWebGridView1 = FDesignerDocument.webControls.item("WebGridView1", 0);
            eWebGridView1 = (WebDevPage.IHTMLElement)oWebGridView1;
            //eWebGridView1.setAttribute("DataMember", FClientData.TableName, 0);

            //这里本来想再往下找Columns节点的,可是找不到,只能先这样写了
            StringBuilder sb = new StringBuilder(eWebGridView1.innerHTML);
            int idx = eWebGridView1.innerHTML.IndexOf("</Columns>");
            if (idx == -1)
            {
                idx = sb.ToString().IndexOf("<SelectedRowStyle");
                sb.Insert(idx, "<Columns>\r\n            </Columns>");
            }
            List<string> KeyFields = new List<string>();
            foreach (TBlockFieldItem BFI in BlockItem.BlockFieldItems)
            {
                idx = sb.ToString().IndexOf("</Columns>");
                if (BFI.ControlType == "RefValBox" && String.IsNullOrEmpty(BFI.RefValNo))
                    BFI.ControlType = "TextBox";
                if (BFI.ControlType == "ComboBox" && (String.IsNullOrEmpty(BFI.ComboRemoteName)
                                                    || String.IsNullOrEmpty(BFI.ComboTextField)
                                                    || String.IsNullOrEmpty(BFI.ComboValueField)))
                    BFI.ControlType = "TextBox";
                if (!string.IsNullOrEmpty(BFI.RefValNo) || BFI.RefField != null)
                {
                    sb.Insert(idx, GenTemplateFieldHTML(BFI.ControlType, BlockItem, BFI));
                }
                else if (BFI.ControlType == "ComboBox" || BFI.ControlType == "ValidateBox" || BFI.ControlType == "CheckBox")
                {
                    sb.Insert(idx, GenTemplateFieldHTML(BFI.ControlType, BlockItem, BFI));
                }
                else
                {
                    if (BFI.DataType == typeof(DateTime) || (BFI.ControlType != null && BFI.ControlType == "DateTimeBox"))
                    {
                        sb.Insert(idx, GenTemplateFieldHTML("DateTimeBox", BlockItem, BFI));
                    }
                    else
                    {
                        sb.Insert(idx, "\r            <asp:BoundField DataField=\"" + BFI.DataField + "\" HeaderText=\"" + (string.IsNullOrEmpty(BFI.Description) ? BFI.DataField : BFI.Description) + "\" SortExpression=\"" + BFI.DataField + "\" />\r\n            ");
                    }
                }
            }
            eWebGridView1.innerHTML = sb.ToString();
            WebDevPage.IHTMLElement AjaxGridView1 = (WebDevPage.IHTMLElement)FDesignerDocument.webControls.item("AjaxGridView1", 0);
            if (AjaxGridView1 != null)
            {
                AjaxTools.ExtGridColumnCollection aExtGridColumnCollection = new AjaxTools.ExtGridColumnCollection(new AjaxTools.AjaxGridView(), typeof(AjaxTools.ExtColumnMatch));
                DataTable srcTable = FWizardDataSet.RealDataSet.Tables[BlockItem.TableName];
                bool flag = true;
                foreach (TBlockFieldItem BFI in BlockItem.BlockFieldItems)
                {
                    AjaxTools.ExtGridColumn extCol = new AjaxTools.ExtGridColumn();
                    if (BFI.CheckNull == "Y")
                        extCol.AllowNull = false;
                    else
                        extCol.AllowNull = true;
                    extCol.AllowSort = false;
                    extCol.ColumnName = string.Format("col{0}", BFI.DataField);
                    extCol.DataField = BFI.DataField;
                    extCol.ExpandColumn = true;
                    if (BFI.Description != null && BFI.Description != String.Empty)
                        extCol.HeaderText = BFI.Description;
                    else
                        extCol.HeaderText = BFI.DataField;
                    extCol.IsKeyField = BFI.IsKey;
                    extCol.IsKeyField = IsKeyField(BFI.DataField, srcTable.PrimaryKey);
                    extCol.NewLine = flag;
                    extCol.Resizable = true;
                    extCol.TextAlign = "left";
                    extCol.Visible = true;
                    extCol.Width = 75;
                    if ((BFI.RefValNo != null && BFI.RefValNo != "") || BFI.RefField != null)
                    {
                        String DataSourceID = GenWebDataSource(BFI, WzdUtils.RemoveSpecialCharacters(BlockItem.TableName), "RefVal", "", true);
                        String extComboBox = GenExtComboBox(BFI, WzdUtils.RemoveSpecialCharacters(BlockItem.TableName), "ExtRefVal", "", DataSourceID);
                        try
                        {
                            String str = AjaxGridView1.innerHTML;
                        }
                        catch
                        {
                            AjaxGridView1 = (WebDevPage.IHTMLElement)FDesignerDocument.webControls.item("AjaxGridViewDetail", 0);
                        }
                        extCol.EditControlId = extComboBox;
                        extCol.Editor = AjaxTools.ExtGridEditor.ComboBox;
                    }
                    else if (BFI.ControlType == "ComboBox")
                    {
                        String DataSourceID = GenWebDataSource(BFI, BFI.ComboEntityName, "ComboBox", "", true);
                        String extComboBox = GenExtComboBox(BFI, WzdUtils.RemoveSpecialCharacters(BlockItem.TableName), "ExtComboBox", "", DataSourceID);
                        try
                        {
                            String str = AjaxGridView1.innerHTML;
                        }
                        catch
                        {
                            AjaxGridView1 = (WebDevPage.IHTMLElement)FDesignerDocument.webControls.item("AjaxGridViewDetail", 0);
                        }
                        extCol.EditControlId = extComboBox;
                        extCol.Editor = AjaxTools.ExtGridEditor.ComboBox;
                    }
                    this.FieldTypeSelector(BFI.DataType, extCol, BFI.ControlType);

                    aExtGridColumnCollection.Add(extCol);

                    flag = !flag;
                }

                SetCollectionValue(AjaxGridView1, typeof(AjaxTools.AjaxGridView).GetProperty("Columns"), aExtGridColumnCollection);
            }
            #else
            bool isAjaxPage = false;
            if (FPage.FindControl("AjaxScriptManager1") != null)
                isAjaxPage = true;

            WebDataSource Master = (WebDataSource)FPage.FindControl("Master");
            BlockItem.wDataSource = Master;
            WebGridView WebGridView1 = (WebGridView)FPage.FindControl("wgvMaster");
            if (WebGridView1 == null)
                WebGridView1 = (WebGridView)FPage.FindControl("WebGridView1");
            //Generate RESX
            //???GenResx(Master);

            //WebGridView1.DataMember = FClientData.TableName;
            //???WebGridView1.Columns.Clear();
            System.Web.UI.WebControls.BoundField aBoundField = null;
            System.Web.UI.WebControls.TemplateField aTemplateField = null;

            WebDefault aDefault = new WebDefault();
            aDefault.ID = "wd" + BlockItem.TableName;
            aDefault.DataSourceID = Master.ID;
            aDefault.DataMember = Master.DataMember;
            WebValidate aValidate = new WebValidate();
            aValidate.ID = "wv" + BlockItem.TableName;
            aValidate.DataSourceID = Master.ID;
            aValidate.DataMember = Master.DataMember;

            if (WebGridView1 != null)
            {
                List<string> KeyFields = new List<string>();
                foreach (TBlockFieldItem BFI in BlockItem.BlockFieldItems)
                {
                    if ((BFI.RefValNo != null && BFI.RefValNo != "") || BFI.RefField != null)
                    {
                        String DataSourceID = GenWebDataSource(BFI, BlockItem.TableName, "RefVal", "");
                        aTemplateField = new System.Web.UI.WebControls.TemplateField();
                        aTemplateField.HeaderText = BFI.Description;
                        aTemplateField.SortExpression = BFI.DataField;
                        if (aTemplateField.HeaderText == "")
                            aTemplateField.HeaderText = BFI.DataField;
                        if (isAjaxPage)
                        {
                            aTemplateField.EditItemTemplate = new WebControlTemplate("WebGridViewAjaxRefValEditItemTemplate", BFI, BlockItem.TableName, DataSourceID, FClientData.Owner.GlobalConnection, FAjaxRefValList, FClientData.DatabaseType, WebGridView1, FLabelList);
                            aTemplateField.ItemTemplate = new WebControlTemplate("WebGridViewAjaxRefValItemTemplate", BFI, BlockItem.TableName, DataSourceID, FClientData.Owner.GlobalConnection, FAjaxRefValList, FClientData.DatabaseType, WebGridView1, FLabelList);
                            aTemplateField.FooterTemplate = new WebControlTemplate("WebGridViewAjaxRefValFooterItemTemplate", BFI, BlockItem.TableName, DataSourceID, FClientData.Owner.GlobalConnection, FAjaxRefValList, FClientData.DatabaseType, WebGridView1, FLabelList);
                        }
                        else
                        {
                            aTemplateField.EditItemTemplate = new WebControlTemplate("WebGridViewRefValEditItemTemplate", BFI, BlockItem.TableName, DataSourceID, FClientData.Owner.GlobalConnection, FWebRefValList, FClientData.DatabaseType, WebGridView1);
                            aTemplateField.ItemTemplate = new WebControlTemplate("WebGridViewRefValItemTemplate", BFI, BlockItem.TableName, DataSourceID, FClientData.Owner.GlobalConnection, FWebRefValList, FClientData.DatabaseType, WebGridView1);
                            aTemplateField.FooterTemplate = new WebControlTemplate("WebGridViewRefValFooterItemTemplate", BFI, BlockItem.TableName, DataSourceID, FClientData.Owner.GlobalConnection, FWebRefValList, FClientData.DatabaseType, WebGridView1);
                        }
                        WebGridView1.Columns.Add(aTemplateField);
                    }
                    else if (BFI.ControlType == "ComboBox")
                    {
                        String DataSourceID = GenWebDataSource(BFI, BFI.ComboEntityName, "ComboBox", "");
                        aTemplateField = new System.Web.UI.WebControls.TemplateField();
                        aTemplateField.HeaderText = BFI.Description;
                        aTemplateField.SortExpression = BFI.DataField;
                        if (aTemplateField.HeaderText == "")
                            aTemplateField.HeaderText = BFI.DataField;
                        aTemplateField.EditItemTemplate = new WebControlTemplate("WebGridViewComboBoxEditItemTemplate", BFI, BlockItem.TableName, DataSourceID, FMyWebDropDownList, FLabelList);
                        aTemplateField.ItemTemplate = new WebControlTemplate("WebGridViewComboBoxItemTemplate", BFI, BlockItem.TableName, DataSourceID, FMyWebDropDownList, FLabelList);
                        aTemplateField.FooterTemplate = new WebControlTemplate("WebGridViewComboBoxFooterItemTemplate", BFI, BlockItem.TableName, DataSourceID, FMyWebDropDownList, FLabelList);
                        WebGridView1.Columns.Add(aTemplateField);
                    }
                    else if (BFI.ControlType == "ValidateBox")
                    {
                        aTemplateField = new System.Web.UI.WebControls.TemplateField();
                        aTemplateField.HeaderText = BFI.Description;
                        aTemplateField.SortExpression = BFI.DataField;
                        if (aTemplateField.HeaderText == "")
                            aTemplateField.HeaderText = BFI.DataField;
                        aTemplateField.EditItemTemplate = new WebControlTemplate("WebGridViewValidateBoxEditItemTemplate", BFI, BlockItem.TableName, aValidate, FWebValidateBoxList, FLabelList);
                        aTemplateField.ItemTemplate = new WebControlTemplate("WebGridViewValidateBoxItemTemplate", BFI, BlockItem.TableName, aValidate, FWebValidateBoxList, FLabelList);
                        aTemplateField.FooterTemplate = new WebControlTemplate("WebGridViewValidateBoxFooterItemTemplate", BFI, BlockItem.TableName, aValidate, FWebValidateBoxList, FLabelList);
                        WebGridView1.Columns.Add(aTemplateField);
                    }
                    else if (BFI.ControlType == "CheckBox")
                    {
                        aTemplateField = new System.Web.UI.WebControls.TemplateField();
                        aTemplateField.HeaderText = BFI.Description;
                        aTemplateField.SortExpression = BFI.DataField;
                        if (aTemplateField.HeaderText == "")
                            aTemplateField.HeaderText = BFI.DataField;
                        aTemplateField.EditItemTemplate = new WebControlTemplate("WebGridViewCheckBoxEditItemTemplate", BFI, BlockItem.TableName, FWebCheckBoxList, FLabelList);
                        aTemplateField.ItemTemplate = new WebControlTemplate("WebGridViewCheckBoxItemTemplate", BFI, BlockItem.TableName, FWebCheckBoxList, FLabelList);
                        aTemplateField.FooterTemplate = new WebControlTemplate("WebGridViewCheckBoxFooterItemTemplate", BFI, BlockItem.TableName, FWebCheckBoxList, FLabelList);
                        WebGridView1.Columns.Add(aTemplateField);
                    }
                    else
                    {
                        if (BFI.DataType == typeof(DateTime) || (BFI.ControlType != null && BFI.ControlType.ToUpper() == "DATETIMEBOX"))
                        {
                            aTemplateField = new System.Web.UI.WebControls.TemplateField();
                            aTemplateField.HeaderText = BFI.Description;
                            aTemplateField.SortExpression = BFI.DataField;
                            if (aTemplateField.HeaderText == "")
                                aTemplateField.HeaderText = BFI.DataField;
                            if (isAjaxPage)
                            {
                                aTemplateField.EditItemTemplate = new WebControlTemplate("WebGridViewAjaxDateTimeEditItemTemplate", BFI, BlockItem.TableName, FAjaxDateTimePickerList, FLabelList, WebGridView1);
                                aTemplateField.ItemTemplate = new WebControlTemplate("WebGridViewAjaxDateTimeItemTemplate", BFI, BlockItem.TableName, FAjaxDateTimePickerList, FLabelList, WebGridView1);
                                aTemplateField.FooterTemplate = new WebControlTemplate("WebGridViewAjaxDateTimeFooterItemTemplate", BFI, BlockItem.TableName, FAjaxDateTimePickerList, FLabelList, WebGridView1);
                            }
                            else
                            {
                                aTemplateField.EditItemTemplate = new WebControlTemplate("WebGridViewDateTimeEditItemTemplate", BFI, BlockItem.TableName, FWebDateTimePickerList, FLabelList, WebGridView1);
                                aTemplateField.ItemTemplate = new WebControlTemplate("WebGridViewDateTimeItemTemplate", BFI, BlockItem.TableName, FWebDateTimePickerList, FLabelList, WebGridView1);
                                aTemplateField.FooterTemplate = new WebControlTemplate("WebGridViewDateTimeFooterItemTemplate", BFI, BlockItem.TableName, FWebDateTimePickerList, FLabelList, WebGridView1);
                            }
                            WebGridView1.Columns.Add(aTemplateField);
                        }
                        else
                        {
                            if (BFI.EditMask != null && BFI.EditMask != String.Empty)
                            {
                                aTemplateField = new System.Web.UI.WebControls.TemplateField();
                                aTemplateField.HeaderText = BFI.Description;
                                aTemplateField.SortExpression = BFI.DataField;
                                if (aTemplateField.HeaderText == "")
                                    aTemplateField.HeaderText = BFI.DataField;
                                aTemplateField.EditItemTemplate = new WebControlTemplate("WebGridViewTextBoxEditItemTemplate", BFI, BlockItem.TableName, FWebTextBoxList, FLabelList, WebGridView1);
                                aTemplateField.ItemTemplate = new WebControlTemplate("WebGridViewTextBoxItemTemplate", BFI, BlockItem.TableName, FWebTextBoxList, FLabelList, WebGridView1);
                                aTemplateField.FooterTemplate = new WebControlTemplate("WebGridViewTextBoxFooterItemTemplate", BFI, BlockItem.TableName, FWebTextBoxList, FLabelList, WebGridView1);
                                WebGridView1.Columns.Add(aTemplateField);
                            }
                            else
                            {
                                aBoundField = new System.Web.UI.WebControls.BoundField();
                                aBoundField.DataField = BFI.DataField;
                                aBoundField.SortExpression = BFI.DataField;
                                aBoundField.HeaderText = BFI.Description;
                                //Field.HeaderStyle.Width = BFI.Length * ColumnWidthPixel;
                                if (aBoundField.HeaderText == "")
                                    aBoundField.HeaderText = BFI.DataField;
                                WebGridView1.Columns.Add(aBoundField);
                            }
                        }
                    }
                    if (BFI.IsKey)
                        KeyFields.Add(BFI.DataField);

                    CreateQueryField(BFI, "", null, BlockItem.TableName);

                    GenDefault(BFI, aDefault, aValidate);
                }

                DataTable DT = FWizardDataSet.RealDataSet.Tables[0];
                DataColumn[] PrimDc = DT.PrimaryKey;
                string[] AA = new string[PrimDc.Length];
                for (int J = 0; J < PrimDc.Length; J++)
                    AA[J] = PrimDc[J].ColumnName;

                /*
                WebGridView1.DataKeyNames = new string[AA.Length];
                for (int I = 0; I < AA.Length; I++)
                {
                    WebGridView1.DataKeyNames[I] = AA[I];
                }
                 */
                FWebDefaultList.Add(aDefault);
                FWebValidateList.Add(aValidate);
                IComponentChangeService FComponentChangeService = (IComponentChangeService)FDesignerHost.RootComponent.Site.GetService(typeof(IComponentChangeService));
                NotifyRefresh(200);
                FComponentChangeService.OnComponentChanged(WebGridView1, null, "", "M");
            }

            Object aAjaxGridView = FPage.FindControl("AjaxGridView1");
            if (aAjaxGridView != null)
            {
                bool flag = true;
                DataTable srcTable = FWizardDataSet.RealDataSet.Tables[BlockItem.TableName];
                IList iColumns = aAjaxGridView.GetType().GetProperty("Columns").GetValue(aAjaxGridView, null) as IList;
                foreach (TBlockFieldItem BFI in BlockItem.BlockFieldItems)
                {
                    Type columnsType = aAjaxGridView.GetType().GetProperty("Columns").PropertyType.GetProperties()[0].PropertyType;
                    object extCol = Activator.CreateInstance(columnsType);
                    if (BFI.CheckNull == "Y")
                        extCol.GetType().GetProperty("AllowNull").SetValue(extCol, false, null);
                    else
                        extCol.GetType().GetProperty("AllowNull").SetValue(extCol, true, null);
                    extCol.GetType().GetProperty("AllowSort").SetValue(extCol, false, null);
                    extCol.GetType().GetProperty("ColumnName").SetValue(extCol, string.Format("col{0}", BFI.DataField), null);
                    extCol.GetType().GetProperty("DataField").SetValue(extCol, BFI.DataField, null);
                    extCol.GetType().GetProperty("DefaultValue").SetValue(extCol, BFI.DefaultValue, null);
                    extCol.GetType().GetProperty("ExpandColumn").SetValue(extCol, true, null);
                    if (BFI.Description != null && BFI.Description != String.Empty)
                        extCol.GetType().GetProperty("HeaderText").SetValue(extCol, BFI.Description, null);
                    else
                        extCol.GetType().GetProperty("HeaderText").SetValue(extCol, BFI.DataField, null);
                    extCol.GetType().GetProperty("IsKeyField").SetValue(extCol, BFI.IsKey, null);
                    //extCol.GetType().GetProperty("IsKeyField").SetValue(extCol, IsKeyField(BFI.DataField, srcTable.PrimaryKey), null);
                    extCol.GetType().GetProperty("NewLine").SetValue(extCol, flag, null);
                    extCol.GetType().GetProperty("Resizable").SetValue(extCol, true, null);
                    extCol.GetType().GetProperty("TextAlign").SetValue(extCol, "left", null);
                    extCol.GetType().GetProperty("Visible").SetValue(extCol, true, null);
                    extCol.GetType().GetProperty("Width").SetValue(extCol, 75, null);
                    this.FieldTypeSelector(BFI.DataType, extCol, BFI.ControlType);
                    iColumns.Add(extCol);
                    flag = !flag;
                }
                IComponentChangeService FComponentChangeService = (IComponentChangeService)FDesignerHost.RootComponent.Site.GetService(typeof(IComponentChangeService));
                NotifyRefresh(200);
                FComponentChangeService.OnComponentChanged(aAjaxGridView, null, "", "M");
            }
            #endif
        }
示例#24
0
        private void GenResx(WebDataSource aWebDataSource)
        {
            WebDataSet aWebDataSet = FDesignerHost.CreateComponent(typeof(WebDataSet), "WMaster") as WebDataSet;
            try
            {
                aWebDataSet.SetWizardDesignMode(true);
                aWebDataSet.RemoteName = this.tbProviderName.Text;
                aWebDataSet.PacketRecords = 100;
                aWebDataSet.Active = true;

                MyDesingerLoader ML = new MyDesingerLoader(cbAddToExistFolder.Text + @"\" + FResxFileName);
                FDesignerHost.AddService(typeof(IResourceService), ML);
                WebDataSetDesigner aDesigner = (WebDataSetDesigner)FDesignerHost.GetDesigner(aWebDataSet);

                aDesigner.Initialize(aWebDataSet);
                if (aDesigner != null)
                {
                    aDesigner.OnSave(FDesignWindow.Document, null);
                }

                WebDataSourceDesigner aWebDataSourceDesigner = FDesignerHost.GetDesigner(aWebDataSource) as WebDataSourceDesigner;
                if (aWebDataSourceDesigner != null)
                    aWebDataSourceDesigner.RefreshSchema(true);
            }
            finally
            {
                aWebDataSet.Dispose();
            }
        }
示例#25
0
        private void GenResx(WebDataSource aWebDataSource)
        {
            WebDataSet aWebDataSet = FDesignerHost.CreateComponent(typeof(WebDataSet), "WMaster") as WebDataSet;
            WebDataSet bWebDataSet = null;
            if (FClientData.BaseFormName == "WMasterDetail3" || FClientData.BaseFormName == "VBWebCMasterDetail_VFG" || FClientData.BaseFormName == "WMasterDetail8"
                || FClientData.BaseFormName == "VBWebCMasterDetail8")
            {
                bWebDataSet = FDesignerHost.CreateComponent(typeof(WebDataSet), "WView") as WebDataSet;
            }
            try
            {
                aWebDataSet.SetWizardDesignMode(true);
                aWebDataSet.RemoteName = FClientData.ProviderName;
                aWebDataSet.PacketRecords = 100;
                aWebDataSet.Active = true;

                if (bWebDataSet != null)
                {
                    bWebDataSet.RemoteName = FClientData.ViewProviderName;
                    bWebDataSet.PacketRecords = 0;
                    bWebDataSet.Active = true;
                }

                MyDesingerLoader ML = new MyDesingerLoader(FClientData.FolderName + @"\" + FResxFileName);
                FDesignerHost.AddService(typeof(IResourceService), ML);
                WebDataSetDesigner aDesigner = (WebDataSetDesigner)FDesignerHost.GetDesigner(aWebDataSet);

                aDesigner.Initialize(aWebDataSet);
                if (aDesigner != null)
                {
                    aDesigner.OnSave(FDesignWindow.Document, null);
                }

                WebDataSourceDesigner aWebDataSourceDesigner = FDesignerHost.GetDesigner(aWebDataSource) as WebDataSourceDesigner;
                if (aWebDataSourceDesigner != null)
                    aWebDataSourceDesigner.RefreshSchema(true);
            }
            finally
            {
                aWebDataSet.Dispose();
                if (bWebDataSet != null)
                    bWebDataSet.Dispose();
            }
        }
示例#26
0
        public void Execute(string user, int d, string Key)
        {
            if ((this.ParentAutoTest != "" && this.ParentAutoTest != null) && (this.KeyField == "" || this.KeyField == null)) return;
            bool temp = new bool(); ;
            deep = d;
            string KeyValue = "";
            if (this.DataSourceID != "" && this.DataSourceID != null)
            {
                List<string> listKey = new List<string>();
                for (int times = 0; times < this.Rows; times++)
                {
                    Hashtable ht = new Hashtable();
                    DataSet ds = new DataSet();
                    foreach (System.Web.UI.Control c in this.Page.Form.Controls)
                    {
                        if (c is WebDataSource && (c as WebDataSource).ID == this.DataSourceID)
                        {
                            ws = c as WebDataSource;
                            ds = (c as WebDataSource).InnerDataSet;
                            break;
                        }
                    }
                    if (ws != null && ds != null)
                    {
                        string fieldName;
                        for (int i = 0; i < ds.Tables[deep].Columns.Count; i++)
                        {
                            fieldName = ds.Tables[deep].Columns[i].ToString();
                            if (fieldName == ds.Tables[0].PrimaryKey[0].ToString() && deep == 0)
                            {
                                KeyValue = user + sequence++;
                                ht.Add(fieldName, KeyValue);
                            }
                            else if (fieldName == ds.Tables[0].PrimaryKey[0].ToString())
                            {
                                ht.Add(fieldName, Key);
                            }
                            else
                            {
                                foreach (webColumn wc in this.Columns)
                                {
                                    if (wc.ColumnName == fieldName && wc.ColumnName == this.KeyField && wc.Value != null)
                                    {
                                        bool flag = true;
                                        for (int j = 0; j < wc.Value.Length; j++)
                                            if (wc.Value[j] < 48 || wc.Value[j] > 57)
                                                flag = false;
                                        for (int j = 0; j < wc.RandomTo.Length; j++)
                                            if (wc.RandomTo[j] < 48 || wc.RandomTo[j] > 57)
                                                flag = false;
                                        if (flag == false)
                                        {
                                            int length;
                                            if (wc.Value.Length < wc.RandomTo.Length)
                                                length = wc.Value.Length;
                                            else
                                                length = wc.RandomTo.Length;
                                            StringBuilder sb = new StringBuilder(length);

                                        Label1:
                                            if (sb.Length > 0)
                                                sb.Remove(0, sb.Length);
                                            for (int x = 0; x < length; x++)
                                                sb.Append(getRandomChar(wc.Value[x], wc.RandomTo[x]));
                                            for (int x = 0; x < wc.RandomTo.Length - wc.Value.Length; x++)
                                                sb.Append(getRandomChar(wc.RandomTo[x]));
                                            bool isHave = false;
                                            foreach (string strKey in listKey)
                                                if (sb.ToString() == strKey) isHave = true;
                                            if (isHave == false)
                                            {
                                                listKey.Add(sb.ToString());
                                                ht.Add(wc.ColumnName, sb.ToString());
                                            }
                                            else
                                                goto Label1;
                                        }
                                        else
                                        {
                                            int begin, end;
                                            Random m_rnd = new Random();
                                            int value;
                                            begin = this.getRandomInt(wc.Value);
                                            end = this.getRandomInt(wc.RandomTo);
                                        Label2:
                                            value = this.m_rnd.Next(begin, end);
                                            bool isHave = false;
                                            foreach (string strKey in listKey)
                                                if (value.ToString() == strKey) isHave = true;
                                            if (isHave == false)
                                            {
                                                listKey.Add(value.ToString());
                                                ht.Add(wc.ColumnName, value);
                                            }
                                            else
                                                goto Label2;
                                        }
                                    }
                                    else if (wc.ColumnName == fieldName)
                                    {
                                        if (wc.valueMode == ValueMode.Fixed)
                                            ht.Add(wc.ColumnName, wc.Value);
                                        else if (wc.valueMode == ValueMode.Random)
                                        {
                                            bool flag = true;
                                            for (int j = 0; j < wc.Value.Length; j++)
                                                if (wc.Value[j] < 48 || wc.Value[j] > 57)
                                                    flag = false;
                                            for (int j = 0; j < wc.RandomTo.Length; j++)
                                                if (wc.RandomTo[j] < 48 || wc.RandomTo[j] > 57)
                                                    flag = false;
                                            if (flag == false)
                                            {
                                                int length;
                                                if (wc.Value.Length < wc.RandomTo.Length)
                                                    length = wc.Value.Length;
                                                else
                                                    length = wc.RandomTo.Length;
                                                StringBuilder sb = new StringBuilder(length);

                                                if (sb.Length > 0)
                                                    sb.Remove(0, sb.Length);
                                                for (int x = 0; x < length; x++)
                                                    sb.Append(getRandomChar(wc.Value[x], wc.RandomTo[x]));
                                                for (int x = 0; x < wc.RandomTo.Length - wc.Value.Length; x++)
                                                    sb.Append(getRandomChar(wc.RandomTo[x]));
                                                ht.Add(wc.ColumnName, sb.ToString());
                                            }
                                            else
                                            {
                                                int begin, end;
                                                Random m_rnd = new Random();
                                                int value;
                                                begin = this.getRandomInt(wc.Value);
                                                end = this.getRandomInt(wc.RandomTo);
                                                value = this.m_rnd.Next(begin, end);
                                                ht.Add(wc.ColumnName, value);
                                            }
                                        }
                                        else if (wc.valueMode == ValueMode.RefRandom)
                                        {
                                            if (wc.RefVal != null)
                                            {
                                                DataSet R_ds = new DataSet();
                                                WebRefVal wrv = new WebRefVal();
                                                foreach (System.Web.UI.Control ctrl in this.Page.Form.Controls)
                                                    if (ctrl is WebRefVal && (ctrl as WebRefVal).ID == wc.RefVal)
                                                        foreach (System.Web.UI.Control c in this.Page.Form.Controls)
                                                            if (c is WebDataSource && (c as WebDataSource).ID == (ctrl as WebRefVal).DataSourceID)
                                                                if ((c as WebDataSource).WebDataSetID == null || (c as WebDataSource).WebDataSetID == "")
                                                                {
                                                                    wrv = (WebRefVal)ctrl;
                                                                    Random rnd = new Random();
                                                                    int x = rnd.Next((c as WebDataSource).CommandTable.Rows.Count);
                                                                    DataRow r_dr = (c as WebDataSource).CommandTable.Rows[x];
                                                                    ht.Add(wc.ColumnName, r_dr[wrv.DataValueField]);
                                                                }
                                                                else
                                                                {
                                                                    R_ds = (c as WebDataSource).InnerDataSet;
                                                                    wrv = (WebRefVal)ctrl;
                                                                    Random rnd = new Random();
                                                                    int x = rnd.Next(R_ds.Tables[0].Rows.Count);
                                                                    DataRow r_dr = R_ds.Tables[0].Rows[x];
                                                                    ht.Add(wc.ColumnName, r_dr[wrv.DataValueField]);
                                                                }
                                            }
                                        }
                                        else
                                            ht.Add(wc.ColumnName, user + sequence++);
                                    }
                                }
                            }
                        }

                        DataRow dr = ds.Tables[deep].NewRow();
                        for (int j = 0; j < dr.Table.Columns.Count; j++)
                        {
                            if (ht[dr.Table.Columns[j].Caption] != null)
                            {
                                dr[dr.Table.Columns[j].Caption] = ht[dr.Table.Columns[j].Caption];
                            }
                        }
                        ds.Tables[deep].Rows.Add(dr);
                    }

                    if (this.ChildAutoTest.Count > 0)
                    {
                        int childCount = 0;
                        for (; childCount < this.ChildAutoTest.Count; childCount++)
                        {
                            deep = 1 + childCount;
                            WebAutoTest wat = (WebAutoTest)this.ChildAutoTest[childCount];
                            wat.Execute(user, deep, KeyValue);
                        }
                        deep = 0;
                    }

                    if (this.ParentAutoTest == null || this.ParentAutoTest == "")
                    {
                        temp = ws.AutoApply;
                        ws.AutoApply = true;
                        //ws.Insert(ht);
                        ws.ApplyUpdates();
                        SubmitFlow(ht);
                        ws.AutoApply = temp;
                    }

                }
            }
        }
示例#27
0
 DataTable GetDesignTable(WebDataSource wds)
 {
     if (wds != null)
     {
         WebDataSet ds = null;
         if (wds.DesignDataSet == null)
         {
             ds = WebDataSet.CreateWebDataSet(wds.WebDataSetID);
         }
         if (wds.DesignDataSet != null && wds.DesignDataSet.Tables.Contains(wds.DataMember))
         {
             return wds.DesignDataSet.Tables[wds.DataMember];
         }
         else
         {
             return ds.RealDataSet.Tables[wds.DataMember];
         }
     }
     return null;
 }
示例#28
0
    private void InitializeQueryConditionItem()
    {
        labels = new Label[columnNum];
        dropDownlists = new WebDropDownList[columnNum];
        textBoxes = new TextBox[columnNum];
        checkBoxes = new CheckBox[columnNum];
        webRefVals = new WebRefVal[columnNum];
        webRefButtons = new WebRefButton[columnNum];
        webDateTimePickers = new WebDateTimePicker[columnNum];

        TableRow[] trQuery = new TableRow[columnNum];
        int intRowCount = 0;
        int cmdIndex = 0;
        trQuery[0] = new TableRow();

        table.HorizontalAlign = HorizontalAlign.Center;

        for (int i = 0; i < columnNum; i++)
        {
            TableCell tcLabel = new TableCell();
            TableCell tcQueryText = new TableCell();
            tcLabel.HorizontalAlign = HorizontalAlign.Right;
            tcLabel.VerticalAlign = VerticalAlign.Middle;
            tcQueryText.HorizontalAlign = HorizontalAlign.Left;
            tcQueryText.VerticalAlign = VerticalAlign.Middle;

            //create captionlabel
            labels[i] = new Label();
            labels[i].ID = "lbl" + i.ToString() + arrColumn[i];
            labels[i].Text = arrCaption[i];
            labels[i].ForeColor = forecolor;
            SetTextFont(labels[i].Font);
            tcLabel.Controls.Add(labels[i]);

            //create querytext
            switch (arrColumnType[i])
            {
                case "ClientQueryComboBoxColumn":
                    {
                        dropDownlists[i] = new WebDropDownList();

                        dropDownlists[i].ID = "ddl" + i.ToString();
                        dropDownlists[i].Width = Unit.Pixel(int.Parse(arrTextWidth[i]));
                        dropDownlists[i].ForeColor = textcolor;

                        int dsidnum = lstDataSetID.IndexOf(arrRefValDSID[i]);
                        if (dsidnum >= 0)
                        {
                            dropDownlists[i].DataSourceID = "refvalds" + dsidnum.ToString();
                            if (arrRefValWhereItem[i] != "")
                            {
                                string filter = WhereItemToFileter(arrRefValWhereItem[i], "refvalds" + dsidnum.ToString());
                                (this.FindControl("refvalds" + dsidnum.ToString()) as WebDataSource).SetWhere(filter);
                            }
                        }
                        else
                        {
                            refValDateSourcecmd[cmdIndex] = new WebDataSource();
                            refValDateSourcecmd[cmdIndex].SelectAlias = arrRefValAlias[i];
                            refValDateSourcecmd[cmdIndex].SelectCommand = arrRefValCMD[i];
                            refValDateSourcecmd[cmdIndex].ID = "refvalcmd" + cmdIndex.ToString();
                            this.Form.Controls.Add(refValDateSourcecmd[cmdIndex]);
                            dropDownlists[i].DataSourceID = "refvalcmd" + cmdIndex.ToString();
                            cmdIndex++;
                        }
                        dropDownlists[i].DataTextField = arrRefValTF[i];
                        dropDownlists[i].DataValueField = arrRefValVF[i];
                        dropDownlists[i].AppendDataBoundItems = true;
                        dropDownlists[i].AutoInsertEmptyData = true;
                        SetTextFont(dropDownlists[i].Font);

                        if (string.Compare(keepcondition, "true", true) == 0)//IgnoreCase
                        {
                            if (arrText[i] != "")
                            {
                                dropDownlists[i].SelectedValue = arrText[i];
                            }
                        }
                        else
                        {
                            try
                            {
                                if (arrDefaultValue[i] != "")
                                {
                                    dropDownlists[i].SelectedValue = arrDefaultValue[i];
                                }
                            }
                            catch
                            { }
                        }

                        tcQueryText.Controls.Add(dropDownlists[i]);
                        break;
                    }
                case "ClientQueryTextBoxColumn":
                    {
                        textBoxes[i] = new TextBox();
                        textBoxes[i].ID = "txt" + i.ToString();
                        textBoxes[i].Width = Unit.Pixel(int.Parse(arrTextWidth[i]));
                        textBoxes[i].ForeColor = textcolor;
                        SetTextFont(textBoxes[i].Font);

                        if (string.Compare(keepcondition, "true", true) == 0)//IgnoreCase
                        {
                            textBoxes[i].Text = arrText[i];
                        }
                        else
                        {
                            textBoxes[i].Text = arrDefaultValue[i];
                        }

                        tcQueryText.Controls.Add(textBoxes[i]);
                        break;
                    }
                case "ClientQueryCheckBoxColumn":
                    {
                        checkBoxes[i] = new CheckBox();
                        checkBoxes[i].ID = "txt" + i.ToString();
                        checkBoxes[i].Text = string.Empty;
                        checkBoxes[i].Width = Unit.Pixel(int.Parse(arrTextWidth[i]));
                        if (string.Compare(keepcondition, "true", true) == 0)//IgnoreCase
                        {
                            if (arrText[i] != "")
                            {
                                checkBoxes[i].Checked = Convert.ToBoolean(arrText[i]);
                            }
                        }
                        else
                        {
                            if (string.Compare(arrDefaultValue[i].Trim(), "true", true) == 0 || string.Compare(arrDefaultValue[i].Trim(), "1") == 0)
                            {
                                checkBoxes[i].Checked = true;
                            }
                            else
                            {
                                checkBoxes[i].Checked = false;
                            }
                        }
                        tcQueryText.Controls.Add(checkBoxes[i]);
                        break;
                    }
                case "ClientQueryRefValColumn":
                    {
                        webRefVals[i] = new WebRefVal();
                        webRefVals[i].ID = "wrf" + i.ToString();
                        webRefVals[i].Width = Unit.Pixel(int.Parse(arrTextWidth[i]));
                        webRefVals[i].ForeColor = textcolor;
                        SetTextFont(webRefVals[i].Font);

                        int dsidnum = lstDataSetID.IndexOf(arrRefValDSID[i]);
                        if (dsidnum >= 0)
                        {
                            webRefVals[i].DataSourceID = "refvalds" + dsidnum.ToString();

                            webRefVals[i].ResxDataSet = arrRefValDSID[i];
                            webRefVals[i].ResxFilePath = psyPagePath + ".vi-VN.resx";
                        }
                        else
                        {
                            refValDateSourcecmd[cmdIndex] = new WebDataSource();
                            refValDateSourcecmd[cmdIndex].SelectAlias = arrRefValAlias[i];
                            refValDateSourcecmd[cmdIndex].SelectCommand = arrRefValCMD[i];
                            refValDateSourcecmd[cmdIndex].ID = "refvalcmd" + cmdIndex.ToString();
                            this.Form.Controls.Add(refValDateSourcecmd[cmdIndex]);
                            webRefVals[i].DataSourceID = "refvalcmd" + cmdIndex.ToString();
                            cmdIndex++;
                        }
                        webRefVals[i].DataTextField = arrRefValTF[i];
                        webRefVals[i].DataValueField = arrRefValVF[i];
                        webRefVals[i].CheckData = Convert.ToBoolean(arrRefValCD[i]);

                        string[] arrsize = arrRefValSize[i].Split(',');
                        if (arrsize.Length == 4)
                        {
                            webRefVals[i].OpenRefHeight = int.Parse(arrsize[0]);
                            webRefVals[i].OpenRefLeft = int.Parse(arrsize[1]);
                            webRefVals[i].OpenRefTop = int.Parse(arrsize[2]);
                            webRefVals[i].OpenRefWidth = int.Parse(arrsize[3]);
                        }

                        #region Add WebRefval other properties
                        if (arrRefValColumnMatch[i] != string.Empty)
                        {
                            string[] columnmatch = arrRefValColumnMatch[i].Split(':');
                            WebColumnMatch[] wcm = new WebColumnMatch[columnmatch.Length];
                            for (int j = 0; j < columnmatch.Length; j++)
                            {
                                string[] columnmatchcontext = columnmatch[j].Split(',');
                                wcm[j] = new WebColumnMatch(columnmatchcontext[1], columnmatchcontext[2], columnmatchcontext[0]);
                                webRefVals[i].ColumnMatch.Add(wcm[j]);
                            }
                        }
                        if (arrRefValColumns[i] != string.Empty)
                        {
                            string[] columns = arrRefValColumns[i].Split(':');
                            WebRefColumn[] wrc = new WebRefColumn[columns.Length];
                            for (int j = 0; j < columns.Length; j++)
                            {
                                string[] columnscontext = columns[j].Split(',');
                                wrc[j] = new WebRefColumn(columnscontext[0], columnscontext[1], int.Parse(columnscontext[2]));
                                if (columnscontext.Length >= 4)
                                {
                                    wrc[j].IsNvarChar = bool.Parse(columnscontext[3]);
                                }
                                webRefVals[i].Columns.Add(wrc[j]);
                            }
                        }
                        if (arrRefValWhereItem[i] != string.Empty)
                        {
                            string[] whereitem = arrRefValWhereItem[i].Split(':');
                            WebWhereItem[] wwi = new WebWhereItem[whereitem.Length];
                            for (int j = 0; j < whereitem.Length; j++)
                            {
                                string[] whereitemcontext = whereitem[j].Split(',');
                                wwi[j] = new WebWhereItem(whereitemcontext[1], whereitemcontext[0], whereitemcontext[2]);
                                webRefVals[i].WhereItem.Add(wwi[j]);
                            }
                        }
                        #endregion

                        if (string.Compare(keepcondition, "true", true) == 0)//IgnoreCase
                        {
                            if (arrText[i] != "")
                            {
                                webRefVals[i].BindingValue = arrText[i];
                            }
                        }
                        else
                        {
                            try
                            {
                                webRefVals[i].BindingValue = arrDefaultValue[i];
                            }
                            catch
                            { }
                        }

                        tcQueryText.Controls.Add(webRefVals[i]);
                        break;
                    }
                case "ClientQueryRefButtonColumn":
                    {
                        textBoxes[i] = new TextBox();
                        textBoxes[i].ID = "txt" + i.ToString();
                        if (string.Compare(keepcondition, "true", true) == 0)//IgnoreCase
                        {
                            textBoxes[i].Text = arrText[i];
                        }
                        else
                        {
                            textBoxes[i].Text = arrDefaultValue[i];
                        }
                        textBoxes[i].Width = Unit.Pixel(int.Parse(arrTextWidth[i]));
                        textBoxes[i].ForeColor = textcolor;
                        SetTextFont(textBoxes[i].Font);
                        webRefButtons[i] = new WebRefButton();
                        webRefButtons[i].ID = "btn" + i.ToString();
                        webRefButtons[i].Caption = arrRefButtonCaption[i];
                        webRefButtons[i].RefURL = arrRefButtonURL[i];

                        string[] arrsize = arrRefButtonURLSize[i].Split(',');
                        if (arrsize.Length == 4)
                        {
                            webRefButtons[i].RefURLHeight = int.Parse(arrsize[0]);
                            webRefButtons[i].RefURLLeft = int.Parse(arrsize[1]);
                            webRefButtons[i].RefURLTop = int.Parse(arrsize[2]);
                            webRefButtons[i].RefURLWidth = int.Parse(arrsize[3]);
                        }

                        MatchControl mc = new MatchControl();
                        mc.ControlID = "txt" + i.ToString();
                        webRefButtons[i].MatchControls.Add(mc);
                        tcQueryText.Controls.Add(textBoxes[i]);
                        tcQueryText.Controls.Add(webRefButtons[i]);
                        break;
                    }

                case "ClientQueryCalendarColumn":
                    {
                        webDateTimePickers[i] = new WebDateTimePicker();
                        webDateTimePickers[i].ID = "wdt" + i.ToString();
                        webDateTimePickers[i].Width = Unit.Pixel(int.Parse(arrTextWidth[i]));
                        webDateTimePickers[i].ForeColor = textcolor;
                        webDateTimePickers[i].DateFormat = dateFormat.ShortDate;
                        webDateTimePickers[i].CheckDate = false;
                        SetTextFont(webDateTimePickers[i].Font);

                        if (string.Compare(keepcondition, "true", true) == 0)//IgnoreCase
                        {
                            webDateTimePickers[i].Text = arrText[i];
                        }
                        else
                        {
                            webDateTimePickers[i].Text = arrDefaultValue[i];
                        }

                        tcQueryText.Controls.Add(webDateTimePickers[i]);
                        break;
                    }
            }
            if (arrTextWidth[i] == "0")
            {
                foreach (Control ctrl in tcQueryText.Controls)
                {
                    ctrl.Visible = false;
                    Panel1.Controls.Add(ctrl);
                }
                continue;
            }

            //is newline
            if (string.Compare(arrNewLine[i], "true", true) == 0)//IgnoreCase
            {
                if (trQuery[intRowCount].Cells.Count > 0)
                {
                    table.Controls.Add(trQuery[intRowCount]);
                    TableRow trEmpty = new TableRow();
                    trEmpty.Height = Unit.Pixel(gapvertical);
                    table.Controls.Add(trEmpty);
                    intRowCount++;
                    trQuery[intRowCount] = new TableRow();
                }

                trQuery[intRowCount].Cells.Add(tcLabel);
                trQuery[intRowCount].Cells.Add(tcQueryText);
            }
            else
            {
                if (trQuery[intRowCount].Cells.Count > 0)
                {
                    TableCell tcEmpty = new TableCell();
                    tcEmpty.Width = Unit.Pixel(gaphorizontal);
                    trQuery[intRowCount].Cells.Add(tcEmpty);
                }
                trQuery[intRowCount].Cells.Add(tcLabel);
                trQuery[intRowCount].Cells.Add(tcQueryText);
            }
        }

        table.Controls.Add(trQuery[intRowCount]);
        TableRow trEmptylast = new TableRow();
        trEmptylast.Height = 15;
        table.Controls.Add(trEmptylast);

        this.Panel1.Controls.Add(table);

        Table tableBtn = new Table();
        TableRow trBtn = new TableRow();
        TableCell tcBtnOk = new TableCell();
        TableCell tcBtnCancel = new TableCell();

        tableBtn.CellSpacing = 15;
        tableBtn.HorizontalAlign = HorizontalAlign.Center;

        String message = SysMsg.GetSystemMessage(CliUtils.fClientLang,
                                  "Srvtools",
                                  "WebNavigator",
                                  "ButtonName", true);
        string[] strbuttons = message.Split(';');

        Button btnOK = new Button();
        btnOK.ID = "btnOK";
        //btnOK.Width = 65;
        btnOK.Text = strbuttons[0];
        btnOK.Click += new EventHandler(btnOK_Click);
        tcBtnOk.HorizontalAlign = HorizontalAlign.Right;
        tcBtnOk.Controls.Add(btnOK);

        Button btnCancel = new Button();
        btnCancel.ID = "btnCancel";
        //btnCancel.Width = 65;
        btnCancel.Text = strbuttons[1];
        btnCancel.Click += new EventHandler(btnCancel_Click);
        tcBtnCancel.HorizontalAlign = HorizontalAlign.Left;
        tcBtnCancel.Controls.Add(btnCancel);
        //2009/09/09 modify by eva 無論是否為VS2008還是VS2005都可以套用Css
        //if (ConfigurationManager.AppSettings["VS90"] != null && string.Compare(ConfigurationManager.AppSettings["VS90"], "true", true) == 0)//IgnoreCase
        //{
        btnOK.CssClass = "btn_mouseout";
        btnOK.Attributes.Add("onmouseout", "this.className='btn_mouseout';");
        btnOK.Attributes.Add("onmouseover", "this.className='btn_mouseover';");
        btnCancel.CssClass = "btn_mouseout";
        btnCancel.Attributes.Add("onmouseout", "this.className='btn_mouseout';");
        btnCancel.Attributes.Add("onmouseover", "this.className='btn_mouseover';");
        //}
        //End Modify
        tcBtnCancel.HorizontalAlign = HorizontalAlign.Left;
        tcBtnCancel.Controls.Add(btnCancel);

        trBtn.Cells.Add(tcBtnOk);
        trBtn.Cells.Add(tcBtnCancel);
        tableBtn.Controls.Add(trBtn);

        this.Panel1.Controls.Add(tableBtn);
    }
示例#29
0
    private void CreatDataSet(string[] datasetid)
    {
        int datasetnum = 0;

        foreach (string strdsid in datasetid)
        {
            if (strdsid != string.Empty)
            {
                datasetnum++;
            }
        }
        if (datasetnum > 0)
        {
            refValDateSet = new WebDataSet[datasetnum];
            refValDateSource = new WebDataSource[datasetnum];
            int intcount = 0;

            for (int i = 0; i < datasetid.Length; i++)
            {
                if (datasetid[i] != string.Empty && (!lstDataSetID.Contains(datasetid[i])))
                {
                    #region Create WebDataSet & WebDataSource
                    XmlDocument xmlDoc = new XmlDocument();
                    string resourceName = psyPath + ".vi-VN.resx";
                    ResXResourceReader reader = new ResXResourceReader(resourceName);

                    IDictionaryEnumerator enumerator = reader.GetEnumerator();
                    while (enumerator.MoveNext())
                    {
                        if (enumerator.Key.ToString() == "WebDataSets")
                        {
                            string sXml = (string)enumerator.Value;
                            xmlDoc.LoadXml(sXml);
                            break;
                        }
                    }
                    if (xmlDoc != null)
                    {
                        XmlNode nWDSs = xmlDoc.SelectSingleNode("WebDataSets");
                        if (nWDSs != null)
                        {
                            XmlNode nWDS = nWDSs.SelectSingleNode("WebDataSet[@Name='" + datasetid[i] + "']");
                            if (nWDS != null)
                            {
                                string remoteName = "";
                                int packetRecords = 100;
                                bool active = false;
                                bool serverModify = false;

                                XmlNode nRemoteName = nWDS.SelectSingleNode("RemoteName");
                                if (nRemoteName != null)
                                    remoteName = nRemoteName.InnerText;

                                XmlNode nPacketRecords = nWDS.SelectSingleNode("PacketRecords");
                                if (nPacketRecords != null)
                                    packetRecords = nPacketRecords.InnerText.Length == 0 ? 100 : Convert.ToInt32(nPacketRecords.InnerText);

                                XmlNode nActive = nWDS.SelectSingleNode("Active");
                                if (nActive != null)
                                    active = nActive.InnerText.Length == 0 ? false : Convert.ToBoolean(nActive.InnerText);

                                XmlNode nServerModify = nWDS.SelectSingleNode("ServerModify");
                                if (nServerModify != null)
                                    serverModify = nServerModify.InnerText.Length == 0 ? false : Convert.ToBoolean(nServerModify.InnerText);

                                WebDataSet wds = new WebDataSet();
                                wds.RemoteName = remoteName;
                                wds.PacketRecords = packetRecords;
                                wds.ServerModify = serverModify;
                                wds.Active = true;

                                refValDateSet[intcount] = wds;

                                refValDateSource[intcount] = new WebDataSource();
                                refValDateSource[intcount].DataSource = refValDateSet[intcount];
                                refValDateSource[intcount].DataMember = arrRefValDM[i];
                                refValDateSource[intcount].ID = "refvalds" + intcount.ToString(); ;

                                this.Form.Controls.Add(refValDateSource[intcount]);
                                intcount++;
                                lstDataSetID.Add(datasetid[i]);
                            }
                        }
                    }
                    #endregion
                }
            }
        }
    }
示例#30
0
        public void PerformApply()
        {
            object obj = GetObjByID(this.BindingObject);
            WebGridView gridView = new WebGridView();
            WebDetailsView detailView = new WebDetailsView();
            WebFormView formView = new WebFormView();
            WebDataSource ds = new WebDataSource();
            if (this.ShowDataStyle == NavigatorStyle.GridStyle && obj is WebGridView)
            {
                gridView = (WebGridView)obj;
                ds = (WebDataSource)GetObjByID(gridView.DataSourceID);
                foreach (GridViewRow row in gridView.Rows)
                {
                    if (row.RowType == DataControlRowType.DataRow)
                    {
                        if ((row.RowState & DataControlRowState.Edit) == DataControlRowState.Edit)
                        {
                            gridView.UpdateRow(row.RowIndex, false);
                        }
                    }
                    if (gridView.ShowFooter)
                    {
                        doOkForGridInsert(gridView, ds);
                    }
                }
                ds.ApplyUpdates();
            }
            else if (this.ShowDataStyle == NavigatorStyle.DetailStyle && obj is WebDetailsView)
            {
                detailView = (WebDetailsView)obj;
                if (detailView.CurrentMode == DetailsViewMode.Insert)
                    detailView.InsertItem(false);
                else if (detailView.CurrentMode == DetailsViewMode.Edit)
                    detailView.UpdateItem(false);
                detailView.ChangeMode(DetailsViewMode.ReadOnly);
                ds.ApplyUpdates();
            }
            else if (this.ShowDataStyle == NavigatorStyle.FormViewStyle && obj is WebFormView)
            {
                formView = (WebFormView)obj;
                if (formView.CurrentMode == FormViewMode.Insert)
                    formView.InsertItem(false);
                else if (formView.CurrentMode == FormViewMode.Edit)
                    formView.UpdateItem(false);

                ds.ApplyUpdates();
                if (formView.CurrentMode == FormViewMode.Insert
                    || formView.CurrentMode == FormViewMode.Edit)
                {
                    formView.ChangeMode(formView.DefaultMode);
                }
            }
        }