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(); }
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"); } }
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); } } }
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 }
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 }
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"); } }
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; }
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); } }
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); } } }
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; }
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 } }
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(); }
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; }
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 } }
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); } } }
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); }
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; }
public WebDataSourceActionList(IComponent component) : base(component) { this.webDataSource = component as WebDataSource; }
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(); }
//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; }
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(); }
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(); } }
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 }
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(); } }
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(); } }
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; } } } }
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; }
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); }
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 } } } }
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); } } }