private void btnOK_Click(object sender, EventArgs e) { string DBName = this.cmbDB.Text; string DBString = this.cmbDB.SelectedValue.ToString(); string DBType = ""; string itemType = ""; foreach (DataRow dr in table.Rows) { if (dr["DBName"].ToString() == DBName) { DBType = dr["DBType"].ToString(); break; } } IDbConnection connection = AllocateConnection(DBType, DBString); InfoCommand cmd = new InfoCommand(); string strSql = "select * from MENUITEMTYPE"; cmd.CommandText = strSql; cmd.Connection = connection; connection.Open(); IDataReader dreader = cmd.ExecuteReader(); bool bItemTypeExisted = false; while (dreader.Read()) { if (dreader["ITEMNAME"].ToString() == this.itemName) { bItemTypeExisted = true; itemType = dreader["ITEMTYPE"].ToString(); } } dreader.Close(); if (!bItemTypeExisted) { //Solution原本不存在,新建一个Solution strSql = "insert into MENUITEMTYPE (ITEMTYPE, ITEMNAME) values ('" + this.itemName + "', '" + this.itemName + "')"; cmd.CommandText = strSql; cmd.Connection = connection; cmd.ExecuteNonQuery(); itemType = this.itemName; } foreach (string menu in this.menuList) { strSql = "select count(*) from MENUTABLE where PACKAGE = '" + menu + "' and MODULETYPE = 'S' and ITEMTYPE = '" + itemType + "'"; cmd.CommandText = strSql; cmd.Connection = connection; int count = (int)cmd.ExecuteScalar(); if (count == 0) { strSql = "insert into MENUTABLE (MENUID, CAPTION, PACKAGE, MODULETYPE, ITEMTYPE) " + "values ('" + menu + "id', '" + menu + "', '" + menu + "', 'S', '" + itemType + "')"; cmd.CommandText = strSql; cmd.Connection = connection; cmd.ExecuteNonQuery(); } } this.Close(); }
public fmRefVal(DbConnection aConnection, ClientType DatabaseType, String EEPAlias) { InitializeComponent(); FConnection = aConnection; FInfoCommand = new InfoCommand(DatabaseType); FDatabaseType = DatabaseType; DBAlias = EEPAlias; InitData(); lvwColumnSorter = new ListViewColumnSorter(); this.lvFieldName.ListViewItemSorter = lvwColumnSorter; }
public fmFieldSetting(DbConnection aConnection, ClientType DatabaseType, ListView aListView, TWizardType aWizardType, String EEPAlias) { InitializeComponent(); FConnection = aConnection; FInfoCommand = new InfoCommand(DatabaseType); FDatabaseType = DatabaseType; FListView = aListView; FSelectedBlockFieldItem = null; FSelectedListViewItem = null; FDisplayValue = false; FWizardType = aWizardType; DBAlias = EEPAlias; InitData(); lvwColumnSorter = new ListViewColumnSorter(); this.lvFields.ListViewItemSorter = lvwColumnSorter; }
private void WriteWebDataSourceHTML() { //if (FWebDataSourceList.Count == 0) // return; String FileName = FDesignWindow.Document.FullName; FDesignWindow.Close(vsSaveChanges.vsSaveChangesYes); #if VS90 #else String UpdateHTML = ""; //WebNavigator.QueryFields WebNavigator navigator1 = FPage.FindControl("WebNavigator1") as WebNavigator; TBlockItem aBlockItem = null; TBlockItem bBlockItem = null; if (navigator1 != null) { if (FClientData.IsMasterDetailBaseForm()) { aBlockItem = FClientData.Blocks.FindItem("Master"); foreach (MWizard.TBlockItem var in FClientData.Blocks) { if (var.ParentItemName == aBlockItem.Name) bBlockItem = var; } } else aBlockItem = FClientData.Blocks.FindItem("Main"); foreach (WebQueryField QF in navigator1.QueryFields) { if (QF.RefVal != null && QF.RefVal != "") { TBlockFieldItem aFieldItem = aBlockItem.BlockFieldItems.FindItem(QF.FieldName); if (QF.Mode == "RefVal") { String DataSourceID = GenWebDataSource(aFieldItem, aBlockItem.TableName, "RefVal", "QF"); 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); DataSet aDataSet = new DataSet(); aInfoCommand.CommandText = String.Format("Select * from SYS_REFVAL where REFVAL_NO = '{0}'", aFieldItem.RefValNo); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, aDataSet, aFieldItem.RefValNo); String S1 = String.Format("<InfoLight:WebRefVal ID=\"{0}\" runat=\"server\" BindingValue='<%# Bind(\"{1}\") %>' " + "ButtonImageUrl=\"../Image/refval/RefVal.gif\" DataBindingField=\"{1}\" DataSourceID=\"{2}\" " + "DataTextField=\"{3}\" DataValueField=\"{4}\" ReadOnly=\"False\" ResxDataSet=\"\" " + "ResxFilePath=\"\" UseButtonImage=\"True\" Visible=\"False\">" + "</InfoLight:WebRefVal>", "wrv" + aBlockItem.TableName + aFieldItem.DataField + "QF", aFieldItem.DataField, DataSourceID, aDataSet.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString(), aDataSet.Tables[0].Rows[0]["VALUE_MEMBER"].ToString()); UpdateHTML = UpdateHTML + S1; } if (QF.Mode == "ComboBox") { String DataSourceID = GenWebDataSource(aFieldItem, aBlockItem.TableName, "ComboBox", "QF"); String S2 = String.Format("<InfoLight:WebRefVal ID=\"{0}\" runat=\"server\" BindingValue='<%# Bind(\"{1}\") %>' " + "ButtonImageUrl=\"../Image/refval/RefVal.gif\" DataBindingField=\"{1}\" DataSourceID=\"{2}\" " + "DataTextField=\"{3}\" DataValueField=\"{4}\" ReadOnly=\"False\" ResxDataSet=\"\" " + "ResxFilePath=\"\" UseButtonImage=\"True\" Visible=\"False\"> " + "</InfoLight:WebRefVal>", "wrv" + aBlockItem.TableName + aFieldItem.DataField + "QF", aFieldItem.DataField, DataSourceID, aFieldItem.ComboTextField, aFieldItem.ComboValueField); UpdateHTML = UpdateHTML + S2; } } } } //WebDataSource foreach (WebDataSource aWebDataSource in FWebDataSourceList) { UpdateHTML = UpdateHTML + String.Format( "<InfoLight:WebDataSource ID=\"{0}\" runat=\"server\" SelectAlias=\"{1}\" SelectCommand=\"{2}\" cachedataset=\"{3}\">\n", aWebDataSource.ID, aWebDataSource.SelectAlias, aWebDataSource.SelectCommand, aWebDataSource.CacheDataSet); UpdateHTML = UpdateHTML + "</InfoLight:WebDataSource>\n"; } //WebDefault if (!FClientData.BaseFormName.Contains("WQuery")) { foreach (WebDefault aDefault in FWebDefaultList) { if (aDefault.Fields.Count > 0) { UpdateHTML = UpdateHTML + String.Format( "<InfoLight:WebDefault ID=\"{0}\" runat=\"server\" DataMember=\"{1}\" DataSourceID=\"{2}\">\n", aDefault.ID, aDefault.DataMember, aDefault.DataSourceID); UpdateHTML = UpdateHTML + " <Fields>\n"; } foreach (DefaultFieldItem DFI in aDefault.Fields) { UpdateHTML = UpdateHTML + String.Format( " <InfoLight:DefaultFieldItem FieldName=\"{0}\" DefaultValue=\"{1}\" />\n", DFI.FieldName, DFI.DefaultValue); } if (aDefault.Fields.Count > 0) { UpdateHTML = UpdateHTML + " </Fields>\n"; UpdateHTML = UpdateHTML + "</InfoLight:WebDefault>\n"; } } } //WebRefVal foreach (WebRefVal aWebRefVal in FWebRefValListPage) { UpdateHTML = UpdateHTML + String.Format( "<InfoLight:WebRefVal ID=\"{0}\" runat=\"server\" Visible=\"{1}\" DataSourceID=\"{2}\" DataTextField=\"{3}\" DataValueField=\"{4}\" Width=\"{5}\" >\n", aWebRefVal.ID, aWebRefVal.Visible, aWebRefVal.DataSourceID, aWebRefVal.DataTextField, aWebRefVal.DataValueField, aWebRefVal.Width); UpdateHTML = UpdateHTML + "</InfoLight:WebRefVal>\n"; } //ExtComboBox foreach (ExtComboBox aExtComboBox in FExtComboBoxList) { UpdateHTML = UpdateHTML + String.Format( "<ajaxtools:extcombobox ID=\"{0}\" runat=\"server\" Visible=\"{1}\" DataSourceID=\"{2}\" DisplayField=\"{3}\" ValueField=\"{4}\" AutoRender=\"False\">\n", aExtComboBox.ID, aExtComboBox.Visible, aExtComboBox.DataSourceID, aExtComboBox.DisplayField, aExtComboBox.ValueField); UpdateHTML = UpdateHTML + "</ajaxtools:extcombobox>\n"; } //Start Update Process System.IO.StreamReader SR = new System.IO.StreamReader(FileName, Encoding.Default); String Context = SR.ReadToEnd(); SR.Close(); String ReplaceTag = "<InfoLight:WebNavigator ID="; if (FClientData.BaseFormName.CompareTo("WSingle1") == 0 || FClientData.BaseFormName.CompareTo("WQuery") == 0 || FClientData.BaseFormName.CompareTo("WSingle0") == 0) ReplaceTag = "<InfoLight:WebDataSource ID=\"Master\""; if (Context.Contains("<flTools:FLWebNavigator ID=")) ReplaceTag = "<flTools:FLWebNavigator ID="; if (FClientData.BaseFormName.CompareTo("WSingle3") == 0) ReplaceTag = "<asp:Button ID=\"ButtonOK\""; if (FClientData.BaseFormName.CompareTo("WSingle4") == 0) ReplaceTag = "<InfoLight:WebFormView ID=\"WebFormView1\""; if (FClientData.BaseFormName.CompareTo("WSingle5") == 0 || FClientData.BaseFormName.CompareTo("WMasterDetail8") == 0) ReplaceTag = "<InfoLight:WebStatusStrip ID=\"WebStatusStrip1\""; UpdateHTML = UpdateHTML + ReplaceTag; Context = Context.Replace(ReplaceTag, UpdateHTML); UpdateHTML = String.Empty; //WebValidate if (!FClientData.BaseFormName.Contains("WQuery")) { foreach (WebValidate aValidate in FWebValidateList) { if (aValidate.Fields.Count > 0) { UpdateHTML = UpdateHTML + String.Format( "<InfoLight:WebValidate ID=\"{0}\" runat=\"server\" DataMember=\"{1}\" DataSourceID=\"{2}\" " + "DuplicateCheck=\"False\" DuplicateCheckMode=\"ByLocal\" ForeColor=\"Red\" ValidateChar=\"*\" " + "ValidateColor=\"Red\" ValidateStyle=\"ShowLable\">\n", aValidate.ID, aValidate.DataMember, aValidate.DataSourceID); UpdateHTML = UpdateHTML + " <Fields>\n"; } foreach (ValidateFieldItem VFI in aValidate.Fields) { String ValidateLabelLink = ""; if (FClientData.BaseFormName == "WSingle0" || FClientData.BaseFormName == "WSingle1" || FClientData.BaseFormName == "WSingle2" || FClientData.BaseFormName == "WSingle3" || FClientData.BaseFormName == "WSingle4" || FClientData.BaseFormName == "WSingle5" || FClientData.BaseFormName == "WMasterDetail1" || FClientData.BaseFormName == "WMasterDetail3" || FClientData.BaseFormName == "WMasterDetail4" || FClientData.BaseFormName == "VBWebSingle5" || FClientData.BaseFormName == "WMasterDetail6" || FClientData.BaseFormName == "VBWebCMasterDetail_FG" || FClientData.BaseFormName == "VBWebCMasterDetail4" || FClientData.BaseFormName == "WMasterDetail7" || FClientData.BaseFormName == "WMasterDetail8" || FClientData.BaseFormName == "VBWebCMasterDetail8") { ValidateLabelLink = " ValidateLabelLink=\"Caption" + VFI.FieldName + "\""; } UpdateHTML = UpdateHTML + String.Format( "<InfoLight:ValidateFieldItem FieldName=\"{0}\" CheckNull=\"{1}\"{2}></InfoLight:ValidateFieldItem>\n", VFI.FieldName, VFI.CheckNull.ToString(), ValidateLabelLink); } if (aValidate.Fields.Count > 0) { UpdateHTML = UpdateHTML + " </Fields>\n"; UpdateHTML = UpdateHTML + "</InfoLight:WebValidate>\n<br />"; } } } ReplaceTag = "<InfoLight:WebNavigator ID="; if (FClientData.BaseFormName.CompareTo("WSingle1") == 0 || FClientData.BaseFormName.CompareTo("WQuery") == 0 || FClientData.BaseFormName.CompareTo("WSingle0") == 0) ReplaceTag = "<InfoLight:WebDataSource ID=\"Master\""; if (Context.Contains("<flTools:FLWebNavigator ID=")) ReplaceTag = "<flTools:FLWebNavigator ID="; if (FClientData.BaseFormName.CompareTo("WSingle3") == 0) ReplaceTag = "<asp:Button ID=\"ButtonOK\""; if (FClientData.BaseFormName.CompareTo("WSingle4") == 0) ReplaceTag = "<InfoLight:WebFormView ID=\"WebFormView1\""; UpdateHTML = UpdateHTML + ReplaceTag; Context = Context.Replace(ReplaceTag, UpdateHTML); //WebRefVal ////Start Update Process //String ReplaceTag = "<InfoLight:WebNavigator ID="; //if (FClientData.BaseFormName.CompareTo("WSingle1") == 0 || FClientData.BaseFormName.CompareTo("WQuery") == 0) // ReplaceTag = "<InfoLight:WebDataSource ID="; ////String ReplaceTag = "<InfoLight:WebNavigator"; ////if (FClientData.BaseFormName == "WSingle1") //// ReplaceTag = "<InfoLight:WebDataSource"; //UpdateHTML = UpdateHTML + ReplaceTag; //System.IO.StreamReader SR = new System.IO.StreamReader(FileName, Encoding.Default); //String Context = SR.ReadToEnd(); //SR.Close(); //Context = Context.Replace(ReplaceTag, UpdateHTML); ////WebRefVal foreach (WebRefVal aWebRefVal in FWebRefValList) { String EditMask = String.Empty; if (aBlockItem != null && aBlockItem.BlockFieldItems.FindItem(aWebRefVal.DataBindingField) != null) EditMask = FormatEditMask(aBlockItem.BlockFieldItems.FindItem(aWebRefVal.DataBindingField).EditMask); if (bBlockItem != null && bBlockItem.BlockFieldItems.FindItem(aWebRefVal.DataBindingField) != null) EditMask = FormatEditMask(bBlockItem.BlockFieldItems.FindItem(aWebRefVal.DataBindingField).EditMask); String newWebRefValID = aWebRefVal.ID.Remove(aWebRefVal.ID.LastIndexOf("GridView")); Context = Context.Replace(" ID=\"" + aWebRefVal.ID + "\"", String.Format("{0}\" BindingValue='<%# Bind(\"{1}\"{2}) %>'", " ID=\"" + newWebRefValID, aWebRefVal.DataBindingField, EditMask)); } ////AjaxRefVal foreach (AjaxTools.AjaxRefVal aAjaxRefVal in FAjaxRefValList) { String EditMask = String.Empty; if (aBlockItem != null && aBlockItem.BlockFieldItems.FindItem(aAjaxRefVal.BindingValue) != null) EditMask = FormatEditMask(aBlockItem.BlockFieldItems.FindItem(aAjaxRefVal.BindingValue).EditMask); if (bBlockItem != null && bBlockItem.BlockFieldItems.FindItem(aAjaxRefVal.BindingValue) != null) EditMask = FormatEditMask(bBlockItem.BlockFieldItems.FindItem(aAjaxRefVal.BindingValue).EditMask); String newWebRefValID = aAjaxRefVal.ID.Remove(aAjaxRefVal.ID.LastIndexOf("GridView")); Context = Context.Replace(" ID=\"" + aAjaxRefVal.ID + "\"", String.Format("{0}\" BindingValue='<%# Bind(\"{1}\"{2}) %>'", " ID=\"" + newWebRefValID, aAjaxRefVal.BindingValue, EditMask)); } //WebDropDownList foreach (MyWebDropDownList aWebDropDownList in FMyWebDropDownList) { String EditMask = String.Empty; if (aBlockItem != null && aBlockItem.BlockFieldItems.FindItem(aWebDropDownList.BindingField) != null) EditMask = FormatEditMask(aBlockItem.BlockFieldItems.FindItem(aWebDropDownList.BindingField).EditMask); if (bBlockItem != null && bBlockItem.BlockFieldItems.FindItem(aWebDropDownList.BindingField) != null) EditMask = FormatEditMask(bBlockItem.BlockFieldItems.FindItem(aWebDropDownList.BindingField).EditMask); String newWebDropDownListID = aWebDropDownList.WebDropDownList.ID.Remove(aWebDropDownList.WebDropDownList.ID.LastIndexOf("GridView")); Context = Context.Replace(aWebDropDownList.WebDropDownList.ID + "\"", String.Format("{0}\" SelectedValue='<%# Bind(\"{1}\"{2}) %>'", newWebDropDownListID, aWebDropDownList.BindingField, EditMask)); } //WebDateTimePicker foreach (WebDateTimePicker aDateTimePicker in FWebDateTimePickerList) { String SS = ""; String EditMask = String.Empty; if (aBlockItem != null && aBlockItem.BlockFieldItems.FindItem(aDateTimePicker.ToolTip) != null) EditMask = FormatEditMask(aBlockItem.BlockFieldItems.FindItem(aDateTimePicker.ToolTip).EditMask); if (bBlockItem != null && bBlockItem.BlockFieldItems.FindItem(aDateTimePicker.ToolTip) != null) EditMask = FormatEditMask(bBlockItem.BlockFieldItems.FindItem(aDateTimePicker.ToolTip).EditMask); String newDateTimePickerID = aDateTimePicker.ID.Remove(aDateTimePicker.ID.LastIndexOf("GridView")); if (aDateTimePicker.DateTimeType == dateTimeType.DateTime) SS = String.Format(" ID=\"{0}\" Text='<%# Bind(\"{1}\"{2}) %>'", newDateTimePickerID, aDateTimePicker.ToolTip, EditMask); else if (aDateTimePicker.DateTimeType == dateTimeType.VarChar) SS = String.Format(" ID=\"{0}\" DateString='<%# Bind(\"{1}\"{2}) %>'", newDateTimePickerID, aDateTimePicker.ToolTip, EditMask); Context = Context.Replace(" ID=\"" + aDateTimePicker.ID + "\"", SS); } //WebAjaxDateTimePicker foreach (AjaxTools.AjaxDateTimePicker aDateTimePicker in FAjaxDateTimePickerList) { String SS = ""; String EditMask = String.Empty; if (aBlockItem != null && aBlockItem.BlockFieldItems.FindItem(aDateTimePicker.ToolTip) != null) EditMask = FormatEditMask(aBlockItem.BlockFieldItems.FindItem(aDateTimePicker.ToolTip).EditMask); if (bBlockItem != null && bBlockItem.BlockFieldItems.FindItem(aDateTimePicker.ToolTip) != null) EditMask = FormatEditMask(bBlockItem.BlockFieldItems.FindItem(aDateTimePicker.ToolTip).EditMask); String newDateTimePickerID = aDateTimePicker.ID.Remove(aDateTimePicker.ID.LastIndexOf("GridView")); if (aDateTimePicker.DateTimeType == dateTimeType.DateTime) SS = String.Format(" ID=\"{0}\" Text='<%# Bind(\"{1}\"{2}) %>'", newDateTimePickerID, aDateTimePicker.ToolTip, EditMask); else if (aDateTimePicker.DateTimeType == dateTimeType.VarChar) SS = String.Format(" ID=\"{0}\" DateString='<%# Bind(\"{1}\"{2}) %>'", newDateTimePickerID, aDateTimePicker.ToolTip, EditMask); Context = Context.Replace("Text=\"\" Localize=\"False\" LocalizeForROC=\"False\" ToolTip=\"" + aDateTimePicker.ToolTip + "\" ID=\"" + aDateTimePicker.ID + "\"" , "Localize=\"False\" LocalizeForROC=\"False\" ToolTip=\"" + aDateTimePicker.ToolTip + "\" ID=\"" + aDateTimePicker.ID + "\""); Context = Context.Replace(" ID=\"" + aDateTimePicker.ID + "\"", SS); } //WebValidateBox foreach (WebValidateBox aValidateBox in FWebValidateBoxList) { String EditMask = String.Empty; if (aBlockItem != null && aBlockItem.BlockFieldItems.FindItem(aValidateBox.ValidateField) != null) EditMask = FormatEditMask(aBlockItem.BlockFieldItems.FindItem(aValidateBox.ValidateField).EditMask); if (bBlockItem != null && bBlockItem.BlockFieldItems.FindItem(aValidateBox.ValidateField) != null) EditMask = FormatEditMask(bBlockItem.BlockFieldItems.FindItem(aValidateBox.ValidateField).EditMask); String newValidateBoxID = aValidateBox.ID.Remove(aValidateBox.ID.LastIndexOf("GridView")); String SSS = String.Format(" ID=\"{0}\" Text='<%# Bind(\"{1}\"{2}) %>'", newValidateBoxID, aValidateBox.ValidateField, EditMask); Context = Context.Replace(" ID=\"" + aValidateBox.ID + "\"", SSS); } //Label foreach (System.Web.UI.WebControls.Label aLabel in FLabelList) { String EditMask = String.Empty; if (aBlockItem != null && aBlockItem.BlockFieldItems.FindItem(aLabel.ToolTip) != null) EditMask = FormatEditMask(aBlockItem.BlockFieldItems.FindItem(aLabel.ToolTip).EditMask); if (bBlockItem != null && bBlockItem.BlockFieldItems.FindItem(aLabel.ToolTip) != null) EditMask = FormatEditMask(bBlockItem.BlockFieldItems.FindItem(aLabel.ToolTip).EditMask); String newLabelID = aLabel.ID.Remove(aLabel.ID.LastIndexOf("GridView")); String S4 = String.Format("{0}\" Text='<%# Bind(\"{1}\"{2}) %>'", newLabelID, aLabel.ToolTip, EditMask); Context = Context.Replace(aLabel.ID + "\"", S4); } //CheckBox foreach (System.Web.UI.WebControls.CheckBox aCheckBox in FWebCheckBoxList) { String newCheckBoxID = aCheckBox.ID.Remove(aCheckBox.ID.LastIndexOf("GridView")); String SSS = String.Format(" ID=\"{0}\" Text='<%# Bind(\"{1}\") %>'", newCheckBoxID, aCheckBox.ToolTip); Context = Context.Replace(" ID=\"" + aCheckBox.ID + "\"", SSS); } //TextBox foreach (System.Web.UI.WebControls.TextBox aTextBox in FWebTextBoxList) { String EditMask = String.Empty; if (aBlockItem != null && aBlockItem.BlockFieldItems.FindItem(aTextBox.ToolTip) != null) EditMask = FormatEditMask(aBlockItem.BlockFieldItems.FindItem(aTextBox.ToolTip).EditMask); if (bBlockItem != null && bBlockItem.BlockFieldItems.FindItem(aTextBox.ToolTip) != null) EditMask = FormatEditMask(bBlockItem.BlockFieldItems.FindItem(aTextBox.ToolTip).EditMask); String newTextBoxID = aTextBox.ID.Remove(aTextBox.ID.LastIndexOf("GridView")); String SSS = String.Format(" ID=\"{0}\" Text='<%# Bind(\"{1}\"{2}) %>'", newTextBoxID, aTextBox.ToolTip, EditMask); Context = Context.Replace(" ID=\"" + aTextBox.ID + "\"", SSS); } //Page Title Context = Context.Replace("<title>Untitled Page</title>", "<title>" + FClientData.FormTitle + "</title>"); System.IO.FileStream Filefs = new System.IO.FileStream(FileName, System.IO.FileMode.Create, System.IO.FileAccess.ReadWrite); System.IO.StreamWriter SW = new System.IO.StreamWriter(Filefs, Encoding.Default); SW.Write(Context); SW.Close(); Filefs.Close(); #endif System.IO.StreamReader SR = new System.IO.StreamReader(FileName, Encoding.Default); String Context = SR.ReadToEnd(); SR.Close(); Context = Context.Replace("<title>Untitled Page</title>", "<title>" + FClientData.FormTitle + "</title>"); System.IO.FileStream Filefs = new System.IO.FileStream(FileName, System.IO.FileMode.Create, System.IO.FileAccess.ReadWrite); System.IO.StreamWriter SW = new System.IO.StreamWriter(Filefs, Encoding.UTF8); SW.Write(Context); SW.Close(); Filefs.Close(); //FDesignWindow = FPI.Open("{00000000-0000-0000-0000-000000000000}"); //FDesignWindow.Activate(); }
private String GenExtComboBox(TBlockFieldItem FieldItem, String TableName, String Kind, String ExtraName, String DSID) { String Name = "ext" + TableName + FieldItem.DataField + ExtraName; bool isExist = false; foreach (ExtComboBox bExtComboBox in FExtComboBoxList) { if (String.Compare(bExtComboBox.ID, Name) == 0) { isExist = true; break; } } ExtComboBox aExtComboBox = new ExtComboBox(); aExtComboBox.ID = Name; aExtComboBox.DataSourceID = DSID; aExtComboBox.AutoRender = false; if (Kind == "ExtRefVal") { DataSet aDataSet = new DataSet(); try { InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType); aInfoCommand.Connection = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, true); if (aInfoCommand.Connection.State != ConnectionState.Open) aInfoCommand.Connection.Open(); aInfoCommand.CommandText = String.Format("Select * from SYS_REFVAL where REFVAL_NO = '{0}'", FieldItem.RefValNo); IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, aDataSet, FieldItem.RefValNo); aExtComboBox.DisplayField = aDataSet.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString(); aExtComboBox.ValueField = aDataSet.Tables[0].Rows[0]["VALUE_MEMBER"].ToString(); ExtSimpleColumn aExtSimpleColumn = new ExtSimpleColumn(); aExtSimpleColumn.DataField = aDataSet.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString(); aExtComboBox.Columns.Add(aExtSimpleColumn); ExtSimpleColumn bExtSimpleColumn = new ExtSimpleColumn(); bExtSimpleColumn.DataField = aDataSet.Tables[0].Rows[0]["VALUE_MEMBER"].ToString(); aExtComboBox.Columns.Add(bExtSimpleColumn); } 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(); comm.CommandText = String.Format("Select * from SYS_REFVAL where REFVAL_NO = '{0}'", FieldItem.RefValNo); IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(comm); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, aDataSet, FieldItem.RefValNo); aExtComboBox.DisplayField = aDataSet.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString(); aExtComboBox.ValueField = aDataSet.Tables[0].Rows[0]["VALUE_MEMBER"].ToString(); ExtSimpleColumn aExtSimpleColumn = new ExtSimpleColumn(); aExtSimpleColumn.DataField = aDataSet.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString(); aExtComboBox.Columns.Add(aExtSimpleColumn); ExtSimpleColumn bExtSimpleColumn = new ExtSimpleColumn(); bExtSimpleColumn.DataField = aDataSet.Tables[0].Rows[0]["VALUE_MEMBER"].ToString(); aExtComboBox.Columns.Add(bExtSimpleColumn); } } } else if (Kind == "ExtComboBox") { aExtComboBox.DisplayField = FieldItem.ComboTextField; aExtComboBox.ValueField = FieldItem.ComboValueField; ExtSimpleColumn aExtSimpleColumn = new ExtSimpleColumn(); aExtSimpleColumn.DataField = FieldItem.ComboTextField; aExtComboBox.Columns.Add(aExtSimpleColumn); ExtSimpleColumn bExtSimpleColumn = new ExtSimpleColumn(); bExtSimpleColumn.DataField = FieldItem.ComboValueField; aExtComboBox.Columns.Add(bExtSimpleColumn); aExtComboBox.AutoRender = false; } if (!isExist) FExtComboBoxList.Add(aExtComboBox); #if VS90 if (!isExist) { WebDevPage.IHTMLElement Page = FDesignerDocument.pageContentElement; ////InsertControl(Page, aExtComboBox); } #endif return aExtComboBox.ID; }
private void SetFieldNames(String TableName, ListView LV) { int I; DataRow[] DRs; DataRow DR; InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType); aInfoCommand.Connection = InternalConnection; String OWNER = String.Empty, SS = TableName; if (SS.Contains(".")) { OWNER = WzdUtils.GetToken(ref SS, new char[] { '.' }); TableName = SS; } aInfoCommand.CommandText = "Select * from COLDEF where TABLE_NAME='" + TableName + "' OR TABLE_NAME='" + OWNER + "." + TableName + "'"; IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand); DataSet dsColdef = new DataSet(); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, dsColdef, TableName); DataTable dtTableSchema = FInfoDataSet.RealDataSet.Tables[0]; for (I = 0; I < dtTableSchema.Columns.Count; I++) { ListViewItem lvi = new ListViewItem(); lvi.Text = dtTableSchema.Columns[I].ColumnName; DRs = dsColdef.Tables[0].Select("FIELD_NAME='" + lvi.Text + "'"); TBlockFieldItem aBlockFieldItem = new TBlockFieldItem(); aBlockFieldItem.DataField = lvi.Text; aBlockFieldItem.DataType = dtTableSchema.Columns[I].DataType; lvi.Tag = aBlockFieldItem; if (DRs.Length > 0) { DR = DRs[0]; lvi.SubItems.Add(DR["CAPTION"].ToString()); aBlockFieldItem.Description = DR["CAPTION"].ToString(); aBlockFieldItem.CheckNull = DR["CHECK_NULL"].ToString().ToUpper(); aBlockFieldItem.DefaultValue = DR["DEFAULT_VALUE"].ToString(); aBlockFieldItem.ControlType = DR["NEEDBOX"].ToString(); aBlockFieldItem.EditMask = DR["EDITMASK"].ToString(); if (aBlockFieldItem.DataType == typeof(DateTime)) { if (aBlockFieldItem.ControlType == null || aBlockFieldItem.ControlType == "") aBlockFieldItem.ControlType = "DateTimeBox"; } else if (aBlockFieldItem.DataType == typeof(Int16) || aBlockFieldItem.DataType == typeof(Int32) || aBlockFieldItem.DataType == typeof(Int64) || aBlockFieldItem.DataType == typeof(float) || aBlockFieldItem.DataType == typeof(double) || aBlockFieldItem.DataType == typeof(decimal)) { if (aBlockFieldItem.ControlType == null || aBlockFieldItem.ControlType == "") aBlockFieldItem.ControlType = "NumberBox"; } aBlockFieldItem.QueryMode = DR["QUERYMODE"].ToString(); if (DR["FIELD_LENGTH"] != null && DR["FIELD_LENGTH"].ToString() != "") aBlockFieldItem.Length = Convert.ToInt32(DR["FIELD_LENGTH"]); if (DR["IS_KEY"] != null && DR["IS_KEY"].ToString() == "Y") aBlockFieldItem.IsKey = true; } LV.Items.Add(lvi); } /* string[] S = new string[4]; S[2] = TableName; DataTable dtTableSchema = InternalConnection.GetSchema("Columns", S); DataRow[] DRs1 = dtTableSchema.Select("", "ORDINAL_POSITION ASC"); for (I = 0; I < DRs1.Length; I++) { ListViewItem lvi = new ListViewItem(); lvi.Text = DRs1[I][3].ToString(); DRs = dsColdef.Tables[0].Select("FIELD_NAME='" + lvi.Text + "'"); if (DRs.Length == 1) { DR = DRs[0]; lvi.SubItems.Add(DR["CAPTION"].ToString()); } LV.Items.Add(lvi); } */ }
private void cbRefValNo_SelectedIndexChanged(object sender, EventArgs e) { String sRefValNo = (sender as ComboBox).Text; if (cbControlType.Text == "ComboBox" && !String.IsNullOrEmpty(sRefValNo)) { try { InfoCommand FInfoCommand = new InfoCommand(FClientData.DatabaseType); FInfoCommand.Connection = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, true); FInfoCommand.CommandText = String.Format("Select * from SYS_REFVAL WHERE REFVAL_NO='{0}'", sRefValNo); IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(FInfoCommand); DataSet aDataSet = new DataSet(); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, aDataSet, "SYS_REFVAL"); DataTable aDataTable = aDataSet.Tables[0]; foreach (DataRow DR in aDataTable.Rows) { cbComboTableName.Text = DR["TABLE_NAME"].ToString(); cbDataValueField.Text = DR["VALUE_MEMBER"].ToString(); cbDataTextField.Text = DR["DISPLAY_MEMBER"].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(); comm.CommandText = String.Format("Select * from SYS_REFVAL WHERE REFVAL_NO='{0}'", sRefValNo); IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(comm); DataSet aDataSet = new DataSet(); WzdUtils.FillDataAdapter(sSysDBType, DA, aDataSet, "SYS_REFVAL"); DataTable aDataTable = aDataSet.Tables[0]; foreach (DataRow DR in aDataTable.Rows) { cbComboTableName.Text = DR["TABLE_NAME"].ToString(); cbDataValueField.Text = DR["VALUE_MEMBER"].ToString(); cbDataTextField.Text = DR["DISPLAY_MEMBER"].ToString(); } } } } }
private void cbComboTableName_SelectedIndexChanged(object sender, EventArgs e) { String strTabelName = cbComboTableName.Text; if (strTabelName == "") return; else { if (strTabelName.Contains(" ")) { if (FClientData.DatabaseType == ClientType.ctMsSql) strTabelName = String.Format("[{0}]", strTabelName); } } cbDataTextField.Items.Clear(); cbDataValueField.Items.Clear(); InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType); aInfoCommand.Connection = InternalConnection; aInfoCommand.CommandText = String.Format("Select * from {0} where 1=0", strTabelName); IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand); DataSet aDataSet = new DataSet(); try { WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, aDataSet, strTabelName); foreach (DataColumn DC in aDataSet.Tables[0].Columns) { cbDataTextField.Items.Add(DC.ColumnName); cbDataValueField.Items.Add(DC.ColumnName); } cbDataTextField.Items.Add(""); cbDataValueField.Items.Add(""); } catch { MessageBox.Show(cbComboTableName.Text + " is a illegal table."); strTabelName = String.Empty; } }
private void GenMainBlockControl_3(TBlockItem BlockItem, String FormViewName) { bool isAjaxPage = false; if (FPage.FindControl("AjaxScriptManager1") != null) isAjaxPage = true; WebDataSource Master = (WebDataSource)FPage.FindControl("Master"); Master.DataMember = FClientData.ProviderName; Master.DataMember = Master.DataMember.Substring(Master.DataMember.IndexOf('.') + 1, Master.DataMember.Length - Master.DataMember.IndexOf('.') - 1); if (FormViewName == "wfvMaster") Master.AutoApply = true; BlockItem.wDataSource = Master; WebFormView wfvMaster = (WebFormView)FPage.FindControl(FormViewName); 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; Boolean Done = false; //Generate RESX WebGridView aGridView = (WebGridView)FPage.FindControl("WgView"); if (aGridView == null) aGridView = (WebGridView)FPage.FindControl("WebGridView1"); if (aGridView == null) aGridView = (WebGridView)FPage.FindControl("wgvMaster"); if (aGridView != null) aGridView.WizardDesignMode = true; GenResx(Master); if (aGridView != null) aGridView.WizardDesignMode = false; if (FClientData.BaseFormName == "WSingle3" || FClientData.BaseFormName == "WSingle4" || FClientData.BaseFormName == "WMasterDetail3" || FClientData.BaseFormName == "WMasterDetail8" || FClientData.BaseFormName == "VBWebCMasterDetail8") { aGridView = null; } //DataSet Dset = new DataSet(); //if (FPage.Site.DesignMode) //{ // Dset = GetDD(wfvMaster); //} IDbConnection conn = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, false); InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType); aInfoCommand.Connection = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, true); //aInfoCommand.Connection = conn; String OWNER = String.Empty, SS = this.FClientData.RealTableName, TableName = String.Empty; if (SS.Contains(".")) { OWNER = WzdUtils.GetToken(ref SS, new char[] { '.' }); TableName = SS; } aInfoCommand.CommandText = "Select * from COLDEF where TABLE_NAME='" + TableName + "' OR TABLE_NAME='" + OWNER + "." + TableName + "'"; IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand); DataSet dsColdef = new DataSet(); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, dsColdef, this.FClientData.TableName); foreach (TBlockFieldItem aFieldItem in BlockItem.BlockFieldItems) { if (!Done) { GenDefault(aFieldItem, aDefault, aValidate); CreateQueryField(aFieldItem, "", null, BlockItem.TableName); } } Done = true; //GridView System.Web.UI.WebControls.BoundField aBoundField = null; System.Web.UI.WebControls.TemplateField aTemplateField = null; List<string> KeyFields = new List<string>(); if (aGridView != null) { while (aGridView.Columns.Count > 1) aGridView.Columns.RemoveAt(1); 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, aGridView, FLabelList); aTemplateField.ItemTemplate = new WebControlTemplate("WebGridViewAjaxRefValItemTemplate", BFI, BlockItem.TableName, DataSourceID, FClientData.Owner.GlobalConnection, FAjaxRefValList, FClientData.DatabaseType, aGridView, FLabelList); aTemplateField.FooterTemplate = new WebControlTemplate("WebGridViewAjaxRefValFooterItemTemplate", BFI, BlockItem.TableName, DataSourceID, FClientData.Owner.GlobalConnection, FAjaxRefValList, FClientData.DatabaseType, aGridView, FLabelList); } else { aTemplateField.EditItemTemplate = new WebControlTemplate("WebGridViewRefValEditItemTemplate", BFI, BlockItem.TableName, DataSourceID, FClientData.Owner.GlobalConnection, FWebRefValList, FClientData.DatabaseType, aGridView); aTemplateField.ItemTemplate = new WebControlTemplate("WebGridViewRefValItemTemplate", BFI, BlockItem.TableName, DataSourceID, FClientData.Owner.GlobalConnection, FWebRefValList, FClientData.DatabaseType, aGridView); aTemplateField.FooterTemplate = new WebControlTemplate("WebGridViewRefValFooterItemTemplate", BFI, BlockItem.TableName, DataSourceID, FClientData.Owner.GlobalConnection, FWebRefValList, FClientData.DatabaseType, aGridView); } aGridView.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); aGridView.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); aGridView.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); aGridView.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, aGridView); aTemplateField.ItemTemplate = new WebControlTemplate("WebGridViewAjaxDateTimeItemTemplate", BFI, BlockItem.TableName, FAjaxDateTimePickerList, FLabelList, aGridView); aTemplateField.FooterTemplate = new WebControlTemplate("WebGridViewAjaxDateTimeFooterItemTemplate", BFI, BlockItem.TableName, FAjaxDateTimePickerList, FLabelList, aGridView); } else { aTemplateField.EditItemTemplate = new WebControlTemplate("WebGridViewDateTimeEditItemTemplate", BFI, BlockItem.TableName, FWebDateTimePickerList, FLabelList, aGridView); aTemplateField.ItemTemplate = new WebControlTemplate("WebGridViewDateTimeItemTemplate", BFI, BlockItem.TableName, FWebDateTimePickerList, FLabelList, aGridView); aTemplateField.FooterTemplate = new WebControlTemplate("WebGridViewDateTimeFooterItemTemplate", BFI, BlockItem.TableName, FWebDateTimePickerList, FLabelList, aGridView); } aGridView.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, aGridView); aTemplateField.ItemTemplate = new WebControlTemplate("WebGridViewTextBoxItemTemplate", BFI, BlockItem.TableName, FWebTextBoxList, FLabelList, aGridView); aTemplateField.FooterTemplate = new WebControlTemplate("WebGridViewTextBoxFooterItemTemplate", BFI, BlockItem.TableName, FWebTextBoxList, FLabelList, aGridView); aGridView.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; aGridView.Columns.Add(aBoundField); } } } } } IComponentChangeService FComponentChangeService = (IComponentChangeService)FDesignerHost.RootComponent.Site.GetService(typeof(IComponentChangeService)); //AjaxTools.AjaxGridView aAjaxGridView = (AjaxTools.AjaxGridView)FPage.FindControl("AjaxGridView1"); //if (aAjaxGridView != null) //{ // DataTable srcTable = GetDesignTable(Master); // bool flag = true; // foreach (TBlockFieldItem BFI in BlockItem.BlockFieldItems) // { // AjaxTools.ExtGridColumn extCol = new AjaxTools.ExtGridColumn(); // extCol.AllowSort = false; // extCol.ColumnName = string.Format("col{0}", BFI.DataField); // extCol.DataField = BFI.DataField; // extCol.ExpandColumn = true; // extCol.HeaderText = BFI.Description; // 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; // this.FieldTypeSelector(BFI.DataType, extCol); // aAjaxGridView.Columns.Add(extCol); // flag = !flag; // } // NotifyRefresh(200); // FComponentChangeService.OnComponentChanged(aAjaxGridView, null, "", "M"); //} if (wfvMaster != null) { //wfvMaster.EditItemTemplate = new MyTemplate("WebFormViewEditItemTemplate", BFI, BlockItem.TableName, DataSourceID, FClientData.Owner.GlobalConnection, FWebRefValList); FormViewDesigner aDesigner = FDesignerHost.GetDesigner(wfvMaster) as FormViewDesigner; //FormView foreach (TemplateGroup tempGroup in aDesigner.TemplateGroups) { foreach (TemplateDefinition tempDefin in tempGroup.Templates) { if (tempDefin.Name == "EditItemTemplate" || tempDefin.Name == "InsertItemTemplate" || tempDefin.Name == "ItemTemplate") { StringBuilder builder = new StringBuilder(); string content = tempDefin.Content; if (content == null || content.Length == 0) continue; string[] ctrlTexts = content.Split("\r\n".ToCharArray()); //Control[] ctrls = ControlParser.ParseControls(host, content); int i = 0; int j = 0; int m = wfvMaster.LayOutColNum * 2; List<string> lists = new List<string>(); String ExtraName = ""; foreach (TBlockFieldItem aFieldItem in BlockItem.BlockFieldItems) { String FormatStyle = FormatEditMask(aFieldItem.EditMask); if (!Done) { GenDefault(aFieldItem, aDefault, aValidate); CreateQueryField(aFieldItem, "", null, BlockItem.TableName); } lists.Add(aFieldItem.DataField); if ((aFieldItem.RefValNo != null && aFieldItem.RefValNo != "") || aFieldItem.RefField != null) { String DataSourceID = GenWebDataSource(aFieldItem, BlockItem.TableName, "RefVal", ""); switch (tempDefin.Name) { case "EditItemTemplate": ExtraName = "E"; break; case "InsertItemTemplate": ExtraName = "I"; if (aFieldItem.DefaultValue != null && aFieldItem.DefaultValue != "") { FormViewField aViewField = new FormViewField(); aViewField.ControlID = "wrv" + BlockItem.TableName + aFieldItem.DataField + ExtraName; aViewField.FieldName = aFieldItem.DataField; wfvMaster.Fields.Add(aViewField); } break; case "ItemTemplate": ExtraName = ""; break; } DataSet aDataSet = new DataSet(); StringBuilder RefColumns = new StringBuilder("<Columns>"); aInfoCommand.CommandText = String.Format("Select * from SYS_REFVAL_D1 where REFVAL_NO = '{0}'", aFieldItem.RefValNo); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, aDataSet, aFieldItem.RefValNo); if (aDataSet != null && aDataSet.Tables.Count > 0 && aDataSet.Tables[0].Rows.Count > 0) { foreach (DataRow DR in aDataSet.Tables[0].Rows) { RefColumns.Append(Environment.NewLine); RefColumns.Append("<InfoLight:WebRefColumn ColumnName=\"" + DR["FIELD_NAME"].ToString() + "\" HeadText=\"" + DR["HEADER_TEXT"].ToString() + "\" Width=\"100\" />"); } RefColumns.Append(Environment.NewLine); RefColumns.Append("</Columns>"); } else { RefColumns = new StringBuilder(""); } if (tempDefin.Name == "ItemTemplate") { String S6 = String.Empty; if (isAjaxPage) { S6 = String.Format("<asp:Label ID=\"{0}\" runat=\"server\" Text='<%# Bind(\"{1}\"{2}) %>'></asp:Label>", "l" + aFieldItem.DataField, aFieldItem.DataField, FormatStyle); } else { S6 = String.Format("<InfoLight:WebRefVal ID=\"{0}\" runat=\"server\" BindingValue='<%# Bind(\"{1}\"{5}) %>' " + "ButtonImageUrl=\"../Image/refval/RefVal.gif\" DataBindingField=\"{1}\" DataSourceID=\"{2}\" " + "DataTextField=\"{3}\" DataValueField=\"{4}\" ReadOnly=\"True\" ResxDataSet=\"\" " + "ResxFilePath=\"\" UseButtonImage=\"True\" Width=\"130px\" BackColor=\"Transparent\" BorderStyle=\"None\"> " + RefColumns.ToString() + "</InfoLight:WebRefVal>", "wrv" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, DataSourceID, FSYS_REFVAL.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString(), FSYS_REFVAL.Tables[0].Rows[0]["VALUE_MEMBER"].ToString(), FormatStyle ); } lists.Add(S6); } else { String S1 = String.Empty; if (isAjaxPage) { S1 = String.Format("<AjaxTools:AjaxRefVal ID=\"{0}\" runat=\"server\" BindingValue='<%# Bind(\"{1}\"{5}) %>' " + "DataSourceID=\"{2}\" " + "DataTextField=\"{3}\" DataValueField=\"{4}\" ResxDataSet=\"\">" + RefColumns.ToString() + "</AjaxTools:AjaxRefVal>", "arv" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, DataSourceID, FSYS_REFVAL.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString(), FSYS_REFVAL.Tables[0].Rows[0]["VALUE_MEMBER"].ToString(), FormatStyle ); } else { S1 = String.Format("<InfoLight:WebRefVal ID=\"{0}\" runat=\"server\" BindingValue='<%# Bind(\"{1}\"{5}) %>' " + "ButtonImageUrl=\"../Image/refval/RefVal.gif\" DataBindingField=\"{1}\" DataSourceID=\"{2}\" " + "DataTextField=\"{3}\" DataValueField=\"{4}\" ReadOnly=\"False\" ResxDataSet=\"\" " + "ResxFilePath=\"\" UseButtonImage=\"True\"> " + RefColumns.ToString() + "</InfoLight:WebRefVal>", "wrv" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, DataSourceID, FSYS_REFVAL.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString(), FSYS_REFVAL.Tables[0].Rows[0]["VALUE_MEMBER"].ToString(), FormatStyle ); } lists.Add(S1); } } else if (aFieldItem.ControlType == "ComboBox") { String DataSourceID = GenWebDataSource(aFieldItem, aFieldItem.ComboEntityName, "ComboBox", ""); String S5 = ""; switch (tempDefin.Name) { case "EditItemTemplate": ExtraName = "E"; S5 = String.Format("<InfoLight:WebDropDownList id=\"{0}\" runat=\"server\" DataMember=\"{1}\" DataSourceID=\"{2}\" __designer:wfdid=\"w3\" DataTextField=\"{3}\" Filter DataValueField=\"{4}\" AutoInsertEmptyData=\"False\" SelectedValue='<%# Bind(\"{5}\"{6})%>' Width=\"130px\"></InfoLight:WebDropDownList>", "wdd" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.ComboEntityName, DataSourceID, aFieldItem.ComboTextField, aFieldItem.ComboValueField, aFieldItem.DataField, FormatStyle); break; case "InsertItemTemplate": ExtraName = "I"; S5 = String.Format("<InfoLight:WebDropDownList id=\"{0}\" runat=\"server\" DataMember=\"{1}\" DataSourceID=\"{2}\" __designer:wfdid=\"w3\" DataTextField=\"{3}\" Filter DataValueField=\"{4}\" AutoInsertEmptyData=\"False\" SelectedValue='<%# Bind(\"{5}\"{6}) %>' Width=\"130px\"></InfoLight:WebDropDownList>", "wdd" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.ComboEntityName, DataSourceID, aFieldItem.ComboTextField, aFieldItem.ComboValueField, aFieldItem.DataField, FormatStyle); if (aFieldItem.DefaultValue != null && aFieldItem.DefaultValue != "") { FormViewField aViewField = new FormViewField(); aViewField.ControlID = "wdd" + BlockItem.TableName + aFieldItem.DataField + ExtraName; aViewField.FieldName = aFieldItem.DataField; wfvMaster.Fields.Add(aViewField); } break; case "ItemTemplate": ExtraName = ""; S5 = String.Format("<asp:Label ID=\"{0}\" runat=\"server\" Text='<%# Bind(\"{1}\"{2}) %>'></asp:Label>", "l" + aFieldItem.DataField, aFieldItem.DataField, FormatStyle); break; } lists.Add(S5); } else if (aFieldItem.ControlType == "ValidateBox") { String S6 = ""; switch (tempDefin.Name) { case "EditItemTemplate": ExtraName = "E"; S6 = String.Format("<InfoLight:WebValidateBox ID=\"{0}\" runat=\"server\" Text='<%# Bind(\"{1}\"{3}) %>' ValidateField=\"{1}\" WebValidateID=\"{2}\" MaxLength=\"{4}\"></InfoLight:WebValidateBox></td>", "wvb" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, aValidate.ID, FormatStyle, aFieldItem.Length); break; case "InsertItemTemplate": ExtraName = "I"; if (aFieldItem.DefaultValue != null && aFieldItem.DefaultValue != "") { FormViewField aViewField = new FormViewField(); aViewField.ControlID = "wdd" + BlockItem.TableName + aFieldItem.DataField + ExtraName; aViewField.FieldName = aFieldItem.DataField; wfvMaster.Fields.Add(aViewField); } S6 = String.Format("<InfoLight:WebValidateBox ID=\"{0}\" runat=\"server\" Text='<%# Bind(\"{1}\"{3}) %>' ValidateField=\"{1}\" WebValidateID=\"{2}\" MaxLength=\"{4}\"></InfoLight:WebValidateBox></td>", "wvb" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, aValidate.ID, FormatStyle, aFieldItem.Length); break; case "ItemTemplate": ExtraName = ""; S6 = String.Format("<asp:Label ID=\"{0}\" runat=\"server\" Text='<%# Bind(\"{1}\"{2}) %>'></asp:Label>", "l" + aFieldItem.DataField, aFieldItem.DataField, FormatStyle); break; } lists.Add(S6); } else if (aFieldItem.ControlType == "CheckBox") { String S6 = ""; switch (tempDefin.Name) { case "EditItemTemplate": ExtraName = "E"; S6 = String.Format("<asp:CheckBox ID=\"{0}\" runat=\"server\" Checked='<%# Bind(\"{1}\"{2}) %>'></asp:CheckBox></td>", "cb" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, FormatStyle); break; case "InsertItemTemplate": ExtraName = "I"; S6 = String.Format("<asp:CheckBox ID=\"{0}\" runat=\"server\" Checked='<%# Bind(\"{1}\"{2}) %>'></asp:CheckBox></td>", "wvb" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, FormatStyle); break; case "ItemTemplate": ExtraName = ""; S6 = String.Format("<asp:Label ID=\"{0}\" runat=\"server\" Text='<%# Bind(\"{1}\"{2}) %>'></asp:Label>", "l" + aFieldItem.DataField, aFieldItem.DataField, FormatStyle); break; } lists.Add(S6); } else { if (aFieldItem.DataType == typeof(DateTime) || (aFieldItem.ControlType != null && aFieldItem.ControlType.ToUpper() == "DATETIMEBOX")) { String DataTimeType = ""; if (aFieldItem.EditMask == "ShortDate") DataTimeType = "ShortDate"; else if (aFieldItem.EditMask == "LongDate") DataTimeType = "ShortDate"; else DataTimeType = "None"; String S4 = ""; if (isAjaxPage) { switch (tempDefin.Name) { case "EditItemTemplate": ExtraName = "E"; if (aFieldItem.DataType == typeof(DateTime)) S4 = String.Format("<AjaxTools:AjaxDateTimePicker id=\"{0}\" runat=\"server\" Width=\"130px\" Text='<%# Bind(\"{1}\"{2}) %>' DateFormat=\"" + DataTimeType + "\" DateTimeType=\"DateTime\"></AjaxTools:AjaxDateTimePicker>", "wdtp" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, FormatStyle); else if (aFieldItem.DataType == typeof(String) && (aFieldItem.ControlType != null && aFieldItem.ControlType.ToUpper() == "DATETIMEBOX")) S4 = String.Format("<AjaxTools:AjaxDateTimePicker id=\"{0}\" runat=\"server\" Width=\"130px\" DateString='<%# Bind(\"{1}\"{2}) %>' DateFormat=\"" + DataTimeType + "\" DateTimeType=\"Varchar\"></AjaxTools:AjaxDateTimePicker>", "wdtp" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, FormatStyle); break; case "InsertItemTemplate": ExtraName = "I"; if (aFieldItem.DataType == typeof(DateTime)) S4 = String.Format("<AjaxTools:AjaxDateTimePicker id=\"{0}\" runat=\"server\" Width=\"130px\" Text='<%# Bind(\"{1}\"{2}) %>' DateFormat=\"" + DataTimeType + "\" DateTimeType=\"DateTime\"></AjaxTools:AjaxDateTimePicker>", "wdtp" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, FormatStyle); else if (aFieldItem.DataType == typeof(String) && (aFieldItem.ControlType != null && aFieldItem.ControlType.ToUpper() == "DATETIMEBOX")) S4 = String.Format("<AjaxTools:AjaxDateTimePicker id=\"{0}\" runat=\"server\" Width=\"130px\" DateString='<%# Bind(\"{1}\"{2}) %>' DateFormat=\"" + DataTimeType + "\" DateTimeType=\"Varchar\"></AjaxTools:AjaxDateTimePicker>", "wdtp" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, FormatStyle); break; case "ItemTemplate": ExtraName = ""; S4 = String.Format("<asp:Label ID=\"{0}\" runat=\"server\" Text='<%# Bind(\"{1}\"{2}) %>'></asp:Label>", "l" + aFieldItem.DataField, aFieldItem.DataField, FormatStyle); break; } } else { switch (tempDefin.Name) { case "EditItemTemplate": ExtraName = "E"; if (aFieldItem.DataType == typeof(DateTime)) S4 = String.Format("<InfoLight:WebDateTimePicker id=\"{0}\" runat=\"server\" Width=\"100px\" Text='<%# Bind(\"{1}\"{2}) %>' __designer:wfdid=\"w14\" UseButtonImage=\"True\" DateFormat=\"" + DataTimeType + "\" DateTimeType=\"DateTime\"></InfoLight:WebDateTimePicker>", "wdtp" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, FormatStyle); else if (aFieldItem.DataType == typeof(String) && (aFieldItem.ControlType != null && aFieldItem.ControlType.ToUpper() == "DATETIMEBOX")) S4 = String.Format("<InfoLight:WebDateTimePicker id=\"{0}\" runat=\"server\" Width=\"100px\" DateString='<%# Bind(\"{1}\"{2}) %>' __designer:wfdid=\"w14\" UseButtonImage=\"True\" DateFormat=\"" + DataTimeType + "\" DateTimeType=\"Varchar\"></InfoLight:WebDateTimePicker>", "wdtp" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, FormatStyle); break; case "InsertItemTemplate": ExtraName = "I"; if (aFieldItem.DataType == typeof(DateTime)) S4 = String.Format("<InfoLight:WebDateTimePicker id=\"{0}\" runat=\"server\" Width=\"100px\" Text='<%# Bind(\"{1}\"{2}) %>' __designer:wfdid=\"w14\" UseButtonImage=\"True\" DateFormat=\"" + DataTimeType + "\" DateTimeType=\"DateTime\"></InfoLight:WebDateTimePicker>", "wdtp" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, FormatStyle); else if (aFieldItem.DataType == typeof(String) && (aFieldItem.ControlType != null && aFieldItem.ControlType.ToUpper() == "DATETIMEBOX")) S4 = String.Format("<InfoLight:WebDateTimePicker id=\"{0}\" runat=\"server\" Width=\"100px\" DateString='<%# Bind(\"{1}\"{2}) %>' __designer:wfdid=\"w14\" UseButtonImage=\"True\" DateFormat=\"" + DataTimeType + "\" DateTimeType=\"Varchar\"></InfoLight:WebDateTimePicker>", "wdtp" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, FormatStyle); break; case "ItemTemplate": ExtraName = ""; S4 = String.Format("<asp:Label ID=\"{0}\" runat=\"server\" Text='<%# Bind(\"{1}\"{2}) %>'></asp:Label>", "l" + aFieldItem.DataField, aFieldItem.DataField, FormatStyle); break; } } lists.Add(S4); } else { if (tempDefin.Name == "ItemTemplate") { String S3 = String.Format("<asp:Label ID=\"{0}\" runat=\"server\" Text='<%# Bind(\"{1}\"{2}) %>'></asp:Label>", "l" + aFieldItem.DataField, aFieldItem.DataField, FormatStyle); lists.Add(S3); } else { if (tempDefin.Name == "InsertItemTemplate") { if (aFieldItem.DefaultValue != null && aFieldItem.DefaultValue != "") { FormViewField aViewField = new FormViewField(); aViewField.ControlID = "tb" + aFieldItem.DataField; aViewField.FieldName = aFieldItem.DataField; wfvMaster.Fields.Add(aViewField); } } String S4 = String.Format("<asp:TextBox ID=\"{0}\" runat=\"server\" Text='<%# Bind(\"{1}\"{2}) %>' MaxLength=\"{3}\"></asp:TextBox>", "tb" + aFieldItem.DataField, aFieldItem.DataField, FormatStyle, aFieldItem.Length); lists.Add(S4); } } } } Done = true; j = j * 2; if (m > 0) { builder.Append("<table>"); } foreach (string ctrlText in lists.ToArray()) { if (ctrlText == null || ctrlText.Length == 0) continue; if (m > 0) { if (i % m == 0) { builder.Append("<tr>"); } builder.Append("<td>"); } // add dd string ddText = ""; if (tempDefin.Name != "ItemTemplate") { ddText = GetDDText(ctrlText, BlockItem, tempDefin.Name); } else { ddText = GetDDText(ctrlText, BlockItem, tempDefin.Name); } builder.Append(ddText); builder.Append("\r\n"); if (m > 0) { builder.Append("</td>"); if (i % m == m - 1) { builder.Append("</tr>"); } } i++; } if (m > 0) { if (i % m != 0) { int n = m - (i % m); int q = 0; while (q < n) { builder.Append("<td></td>"); q++; } builder.Append("</tr>"); } builder.Append("</table>"); } tempDefin.Content = builder.ToString(); } } } } Object aAjaxLayout = FPage.FindControl("AjaxLayout1"); if (aAjaxLayout != null) { aAjaxLayout.GetType().GetProperty("Title").SetValue(aAjaxLayout, FClientData.FormTitle, null); FComponentChangeService.OnComponentChanged(aAjaxLayout, null, "", "M"); } Object aAjaxFormView = FPage.FindControl("AjaxFormView1"); if (aAjaxFormView != null) { bool flag = true; DataTable srcTable = FWizardDataSet.RealDataSet.Tables[BlockItem.TableName]; IList iFields = aAjaxFormView.GetType().GetProperty("Fields").GetValue(aAjaxFormView, null) as IList; foreach (TBlockFieldItem BFI in BlockItem.BlockFieldItems) { Type fieldsType = aAjaxFormView.GetType().GetProperty("Fields").PropertyType.GetProperties()[0].PropertyType; object extCol = Activator.CreateInstance(fieldsType); if (BFI.CheckNull == "Y") extCol.GetType().GetProperty("AllowNull").SetValue(extCol, false, null); else extCol.GetType().GetProperty("AllowNull").SetValue(extCol, true, null); if (BFI.Description != null && BFI.Description != String.Empty) extCol.GetType().GetProperty("Caption").SetValue(extCol, BFI.Description, null); else extCol.GetType().GetProperty("Caption").SetValue(extCol, BFI.DataField, null); extCol.GetType().GetProperty("DataField").SetValue(extCol, BFI.DataField, null); extCol.GetType().GetProperty("DefaultValue").SetValue(extCol, BFI.DefaultValue, null); extCol.GetType().GetProperty("FieldControlId").SetValue(extCol, string.Format("ctrl{0}", BFI.DataField), 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, 140, null); 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); extCol.GetType().GetProperty("EditControlId").SetValue(extCol, extComboBox, null); extCol.GetType().GetProperty("Editor").SetValue(extCol, extCol.GetType().GetProperty("Editor").PropertyType.GetField("ComboBox").GetValue(extCol), null); } else if (BFI.ControlType == "ComboBox") { String DataSourceID = GenWebDataSource(BFI, BlockItem.TableName, "ComboBox", "", true); String extComboBox = GenExtComboBox(BFI, BlockItem.TableName, "ExtComboBox", "", DataSourceID); extCol.GetType().GetProperty("EditControlId").SetValue(extCol, extComboBox, null); extCol.GetType().GetProperty("Editor").SetValue(extCol, extCol.GetType().GetProperty("Editor").PropertyType.GetField("ComboBox").GetValue(extCol), null); } this.FieldTypeSelector(BFI.DataType, extCol, BFI.ControlType); iFields.Add(extCol); flag = !flag; } NotifyRefresh(200); FComponentChangeService.OnComponentChanged(aAjaxFormView, null, "", "M"); } FWebDefaultList.Add(aDefault); FWebValidateList.Add(aValidate); NotifyRefresh(200); FComponentChangeService.OnComponentChanged(wfvMaster, null, "", "M"); FComponentChangeService.OnComponentChanged(Master, null, "", "M"); FComponentChangeService.OnComponentChanged(aGridView, null, "", "M"); }
private void SetFieldNames(string TableName, ListView LV, String DataSetName) { int I; DataRow[] DRs; DataRow DR; InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType); aInfoCommand.Connection = InternalConnection; TableName = WzdUtils.RemoveQuote(TableName, FClientData.DatabaseType); aInfoCommand.CommandText = "Select * from COLDEF where TABLE_NAME = '" + TableName + "'"; IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand); DataSet dsColdef = new DataSet(); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, dsColdef, TableName); InfoDataSet aDataSet = GetRootInfoDataSet(DataSetName); DataTable dtTableSchema = aDataSet.RealDataSet.Tables[0]; for (I = 0; I < dtTableSchema.Columns.Count; I++) { ListViewItem lvi = new ListViewItem(); lvi.Text = dtTableSchema.Columns[I].ColumnName; DRs = dsColdef.Tables[0].Select("FIELD_NAME='" + lvi.Text + "'"); TBlockFieldItem aBlockFieldItem = new TBlockFieldItem(); aBlockFieldItem.DataField = lvi.Text; aBlockFieldItem.DataType = dtTableSchema.Columns[I].DataType; lvi.Tag = aBlockFieldItem; if (DRs.Length == 1) { DR = DRs[0]; lvi.SubItems.Add(DR["CAPTION"].ToString()); aBlockFieldItem.Description = DR["CAPTION"].ToString(); aBlockFieldItem.CheckNull = DR["CHECK_NULL"].ToString().ToUpper(); aBlockFieldItem.DefaultValue = DR["DEFAULT_VALUE"].ToString(); aBlockFieldItem.ControlType = DR["NEEDBOX"].ToString(); aBlockFieldItem.EditMask = DR["EDITMASK"].ToString(); if (aBlockFieldItem.DataType == typeof(DateTime)) { if (aBlockFieldItem.ControlType == null || aBlockFieldItem.ControlType == "") aBlockFieldItem.ControlType = "DateTimeBox"; } aBlockFieldItem.QueryMode = DR["QUERYMODE"].ToString(); } LV.Items.Add(lvi); } /* string[] S = new string[4]; S[2] = TableName; DataTable dtTableSchema = InternalConnection.GetSchema("Columns", S); DataRow[] DRs1 = dtTableSchema.Select("", "ORDINAL_POSITION ASC"); for (I = 0; I < DRs1.Length; I++) { ListViewItem lvi = new ListViewItem(); lvi.Text = DRs1[I][3].ToString(); DRs = dsColdef.Tables[0].Select("FIELD_NAME='" + lvi.Text + "'"); if (DRs.Length == 1) { DR = DRs[0]; lvi.SubItems.Add(DR["CAPTION"].ToString()); } LV.Items.Add(lvi); } */ }
private void SetDataToSYS_REFVAL(String tableName, String displayMember, String valueMember, String selectAlias, String selectCommand) { InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType); aInfoCommand.Connection = InternalConnection; aInfoCommand.CommandText = String.Format("DELETE FROM SYS_REFVAL WHERE REFVAL_NO='{0}'", "SL." + tableName); if (InternalConnection.State != ConnectionState.Open) InternalConnection.Open(); aInfoCommand.ExecuteNonQuery(); aInfoCommand.CommandText = String.Format("INSERT INTO SYS_REFVAL (REFVAL_NO,TABLE_NAME,DISPLAY_MEMBER,SELECT_ALIAS,SELECT_COMMAND,VALUE_MEMBER) VALUES('{0}','{1}','{2}','{3}','{4}','{5}')", "SL." + tableName, tableName, displayMember, selectAlias, selectCommand, valueMember); aInfoCommand.ExecuteNonQuery(); }
private DataSet GetDataFromSYS_REFVAL(String tableName, String valueMember) { InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType); aInfoCommand.Connection = InternalConnection; aInfoCommand.CommandText = String.Format("SELECT * FROM SYS_REFVAL WHERE REFVAL_NO='{0}' AND VALUE_MEMBER='{1}'", "SL." + tableName, valueMember); IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand); DataSet dsSYS_REFVAL = new DataSet(); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, dsSYS_REFVAL, tableName); return dsSYS_REFVAL; }
private DataSet GetDataFromCOLDEF(String tableName) { InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType); aInfoCommand.Connection = InternalConnection; aInfoCommand.CommandText = String.Format("SELECT * FROM COLDEF WHERE TABLE_NAME='{0}'", tableName); IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand); DataSet dsCOLDEF = new DataSet(); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, dsCOLDEF, tableName); return dsCOLDEF; }
/// <summary> /// 取得Control对应的xml /// </summary> /// <param name="item">blockfielditem</param> /// <param name="tableName">tablename</param> /// <param name="id">控件的id</param> /// <returns>xml</returns> private string GetControlXml(TBlockFieldItem item, string tableName, ref string id) { WebControl control = null; PropertyInfo info = null; #region DropDownList if (string.Compare(item.ControlType, "combobox", true) == 0) { control = new WebDropDownList(); control.ID = string.Format("{0}DropDownList", item.DataField); control.Width = new Unit(130, UnitType.Pixel); (control as WebDropDownList).DataSourceID = GenWebDataSource(item, tableName, "ComboBox", string.Empty); (control as WebDropDownList).DataMember = item.ComboEntityName; (control as WebDropDownList).DataTextField = item.ComboTextField; (control as WebDropDownList).DataValueField = item.ComboValueField; info = control.GetType().GetProperty("SelectedValue"); } #endregion #region RefVal else if (string.Compare(item.ControlType, "refvalbox", true) == 0) { #warning GenWebDataSource未完成FSYS_REFVAL部分 control = new WebRefVal(); control.ID = string.Format("{0}RefVal", item.DataField); if (!string.IsNullOrEmpty(item.RefValNo) || (item.RefField != null)) { (control as WebRefVal).DataSourceID = GenWebDataSource(item, tableName, "RefVal", string.Empty); (control as WebRefVal).DataBindingField = item.DataField; (control as WebRefVal).DataTextField = FSYS_REFVAL.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString(); (control as WebRefVal).DataValueField = FSYS_REFVAL.Tables[0].Rows[0]["VALUE_MEMBER"].ToString(); if (!string.IsNullOrEmpty(item.RefValNo)) { IDbConnection conn = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, false); InfoCommand command = new InfoCommand(FClientData.DatabaseType); command.Connection = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, true); //command.Connection = conn; command.CommandText = String.Format("Select * from SYS_REFVAL_D1 where REFVAL_NO = '{0}'", item.RefValNo); IDbDataAdapter adapter = WzdUtils.AllocateDataAdapter(FClientData.DatabaseType); adapter.SelectCommand = command.GetInternalCommand(); DataSet dataset = new DataSet(); WzdUtils.FillDataAdapter(FClientData.DatabaseType, adapter, dataset, item.RefValNo); if (dataset != null && dataset.Tables.Count > 0 && dataset.Tables[0].Rows.Count > 0) { foreach (DataRow DR in dataset.Tables[0].Rows) { WebRefColumn refcolumn = new WebRefColumn(); refcolumn.ColumnName = DR["FIELD_NAME"].ToString(); refcolumn.HeadText = DR["HEADER_TEXT"].ToString(); refcolumn.Width = 100; (control as WebRefVal).Columns.Add(refcolumn); } } } info = control.GetType().GetProperty("BindingValue"); } else { control = new TextBox(); control.ID = string.Format("{0}TextBox", item.DataField); (control as TextBox).MaxLength = item.Length; info = control.GetType().GetProperty("Text"); } } #endregion #region DateTimePicker else if (string.Compare(item.ControlType, "datetimebox", true) == 0) { control = new WebDateTimePicker(); control.ID = string.Format("{0}DateTimePicker", item.DataField); (control as WebDateTimePicker).MaxLength = item.Length; if (string.IsNullOrEmpty(item.EditMask)) { (control as WebDateTimePicker).DateFormat = dateFormat.ShortDate; } if (item.DataType == typeof(DateTime)) { info = control.GetType().GetProperty("Text"); } else if (item.DataType == typeof(string)) { (control as WebDateTimePicker).DateTimeType = dateTimeType.VarChar; info = control.GetType().GetProperty("DataString"); } } #endregion #region ValidateBox else if (string.Compare(item.ControlType, "validatebox", true) == 0) { control = new WebValidateBox(); control.ID = string.Format("{0}ValidateBox", item.DataField); (control as WebValidateBox).WebValidateID = string.Format("wv{0}", tableName); (control as WebValidateBox).ValidateField = item.DataField; (control as WebValidateBox).MaxLength = item.Length; info = control.GetType().GetProperty("Text"); } #endregion #region CheckBox else if (string.Compare(item.ControlType, "checkbox", true) == 0) { control = new CheckBox(); control.ID = string.Format("{0}CheckBox", item.DataField); info = control.GetType().GetProperty("Checked"); } #endregion #region TextBox else { control = new TextBox(); control.ID = string.Format("{0}TextBox", item.DataField); (control as TextBox).MaxLength = item.Length; info = control.GetType().GetProperty("Text"); } #endregion control.ID = string.Format("{0}{1}", control.ID, id); id = control.ID; item.EditMask = FormatEditMask(item.EditMask); return GetControlXml(control, info, item.DataField, item.EditMask); }
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 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 string GenTempateHTML(string template, string controlType, TBlockItem BlockItem, TBlockFieldItem BFI) { bool isAjaxPage = false; object obj = (WebDevPage.IHTMLElement)FDesignerDocument.webControls.item("AjaxScriptManager1", 0); if (obj != null) isAjaxPage = true; StringBuilder builder = new StringBuilder(); String FormatStyle = this.FormatEditMask(BFI.EditMask); if (template == "edit") { switch (controlType) { case "RefValBox": IDbConnection conn = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, false); InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType); aInfoCommand.Connection = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, true); //aInfoCommand.Connection = conn; String OWNER = String.Empty, SS = this.FClientData.RealTableName, TableName = String.Empty; if (SS.Contains(".")) { OWNER = WzdUtils.GetToken(ref SS, new char[] { '.' }); TableName = SS; } aInfoCommand.CommandText = "Select * from COLDEF where TABLE_NAME='" + TableName + "' OR TABLE_NAME='" + OWNER + "." + TableName + "'"; IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand); DataSet dsColdef = new DataSet(); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, dsColdef, this.FClientData.TableName); DataSet aDataSet = new DataSet(); StringBuilder RefColumns = new StringBuilder("<Columns>"); aInfoCommand.CommandText = String.Format("Select * from SYS_REFVAL_D1 where REFVAL_NO = '{0}'", BFI.RefValNo); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, aDataSet, BFI.RefValNo); if (aDataSet != null && aDataSet.Tables.Count > 0 && aDataSet.Tables[0].Rows.Count > 0) { foreach (DataRow DR in aDataSet.Tables[0].Rows) { RefColumns.Append(Environment.NewLine); RefColumns.Append("<InfoLight:WebRefColumn ColumnName=\"" + DR["FIELD_NAME"].ToString() + "\" HeadText=\"" + DR["HEADER_TEXT"].ToString() + "\" Width=\"100\" />"); } RefColumns.Append(Environment.NewLine); RefColumns.Append("</columns>"); } else { RefColumns = new StringBuilder(""); } String DataSourceID = GenWebDataSource(BFI, WzdUtils.RemoveSpecialCharacters(BlockItem.TableName), "RefVal", ""); String refvalHTML = String.Empty; if (isAjaxPage) { refvalHTML = String.Format("<AjaxTools:AjaxRefVal ID=\"{0}\" runat=\"server\" BindingValue='<%# Bind(\"[{1}]\"{5}) %>' " + "DataSourceID=\"{2}\" " + "DataTextField=\"{3}\" DataValueField=\"{4}\" ResxDataSet=\"\">" + RefColumns.ToString() + "</AjaxTools:AjaxRefVal>", WzdUtils.RemoveSpecialCharacters("arv" + BlockItem.TableName + BFI.DataField + "E"), BFI.DataField, DataSourceID, FSYS_REFVAL.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString(), FSYS_REFVAL.Tables[0].Rows[0]["VALUE_MEMBER"].ToString(), FormatStyle ); } else { refvalHTML = String.Format("<InfoLight:WebRefVal ID=\"{0}\" runat=\"server\" BindingValue='<%# Bind(\"[{1}]\"{5}) %>' " + "ButtonImageUrl=\"../Image/refval/RefVal.gif\" DataBindingField=\"{1}\" DataSourceID=\"{2}\" " + "DataTextField=\"{3}\" DataValueField=\"{4}\" ReadOnly=\"False\" ResxDataSet=\"\" " + "ResxFilePath=\"\" UseButtonImage=\"True\"> " + RefColumns.ToString() + "</InfoLight:WebRefVal>", WzdUtils.RemoveSpecialCharacters("wrv" + BlockItem.TableName + BFI.DataField + "E"), BFI.DataField, DataSourceID, FSYS_REFVAL.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString(), FSYS_REFVAL.Tables[0].Rows[0]["VALUE_MEMBER"].ToString(), FormatStyle ); } builder.AppendLine(refvalHTML); break; case "ComboBox": String comboHTML = string.Format("<InfoLight:WebDropDownList runat=\"server\" ID=\"{0}\" DataSourceID=\"{1}\" DataTextField=\"{2}\" DataValueField=\"{3}\" DataMember=\"{4}\" SelectedValue='<%# Bind(\"[{5}]\"{6}) %>'></InfoLight:WebDropDownList>", WzdUtils.RemoveSpecialCharacters("wdd" + BlockItem.TableName + BFI.DataField + "E"), GenWebDataSource(BFI, BFI.ComboEntityName, "ComboBox", ""), BFI.ComboTextField, BFI.ComboValueField, BFI.ComboEntityName, BFI.DataField, FormatStyle); builder.AppendLine(comboHTML); break; case "ValidateBox": String validateHTML = String.Format("<InfoLight:WebValidateBox ID=\"{0}\" runat=\"server\" Text='<%# Bind(\"[{1}]\"{3}) %>' ValidateField=\"{1}\" WebValidateID=\"{2}\"></InfoLight:WebValidateBox>", WzdUtils.RemoveSpecialCharacters("wvb" + BlockItem.TableName + BFI.DataField + "E"), BFI.DataField, "wv" + WzdUtils.RemoveSpecialCharacters(BlockItem.TableName), FormatStyle); builder.AppendLine(validateHTML); break; case "CheckBox": String checkHTML = String.Format("<asp:CheckBox ID=\"{0}\" runat=\"server\" Checked='<%# Bind(\"[{1}]\"{2}) %>'></asp:CheckBox>", WzdUtils.RemoveSpecialCharacters("cb" + BlockItem.TableName + BFI.DataField + "E"), BFI.DataField, FormatStyle); builder.AppendLine(checkHTML); break; case "DateTimeBox": String dtHTML = String.Empty; if (isAjaxPage) { dtHTML = String.Format("<AjaxTools:AjaxDateTimePicker runat=\"server\" DateFormat=\"{0}\" DateTimeType=\"{1}\" Localize=\"False\" MinYear=\"1950\" MaxYear=\"2050\" ToolTip=\"{2}\" Width=\"100px\" ID=\"{3}\" {4}='<%# Bind(\"[{5}]\"{6}) %>'></AjaxTools:AjaxDateTimePicker>", "None", (BFI.DataType == typeof(DateTime)) ? "DateTime" : "Varchar", BFI.DataField, WzdUtils.RemoveSpecialCharacters("wdt" + BlockItem.TableName + BFI.DataField + "E"), (BFI.DataType == typeof(DateTime)) ? "Text" : "DateString", BFI.DataField, FormatStyle); } else { dtHTML = String.Format("<InfoLight:WebDateTimePicker runat=\"server\" UseButtonImage=\"True\" DateFormat=\"{0}\" DateTimeType=\"{1}\" Localize=\"False\" MinYear=\"1950\" MaxYear=\"2050\" ToolTip=\"{2}\" Width=\"100px\" ID=\"{3}\" {4}='<%# Bind(\"[{5}]\"{6}) %>'></InfoLight:WebDateTimePicker>", "None", (BFI.DataType == typeof(DateTime)) ? "DateTime" : "Varchar", BFI.DataField, WzdUtils.RemoveSpecialCharacters("wdt" + BlockItem.TableName + BFI.DataField + "E"), (BFI.DataType == typeof(DateTime)) ? "Text" : "DateString", BFI.DataField, FormatStyle); } builder.AppendLine(dtHTML); break; } } else if (template == "footer") { switch (controlType) { case "RefValBox": IDbConnection conn = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, false); InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType); aInfoCommand.Connection = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, true); //aInfoCommand.Connection = conn; String OWNER = String.Empty, SS = this.FClientData.RealTableName, TableName = String.Empty; if (SS.Contains(".")) { OWNER = WzdUtils.GetToken(ref SS, new char[] { '.' }); TableName = SS; } aInfoCommand.CommandText = "Select * from COLDEF where TABLE_NAME='" + TableName + "' OR TABLE_NAME='" + OWNER + "." + TableName + "'"; IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand); DataSet dsColdef = new DataSet(); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, dsColdef, this.FClientData.TableName); DataSet aDataSet = new DataSet(); StringBuilder RefColumns = new StringBuilder("<Columns>"); aInfoCommand.CommandText = String.Format("Select * from SYS_REFVAL_D1 where REFVAL_NO = '{0}'", BFI.RefValNo); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, aDataSet, BFI.RefValNo); if (aDataSet != null && aDataSet.Tables.Count > 0 && aDataSet.Tables[0].Rows.Count > 0) { foreach (DataRow DR in aDataSet.Tables[0].Rows) { RefColumns.Append(Environment.NewLine); RefColumns.Append("<InfoLight:WebRefColumn ColumnName=\"" + DR["FIELD_NAME"].ToString() + "\" HeadText=\"" + DR["HEADER_TEXT"].ToString() + "\" Width=\"100\" />"); } RefColumns.Append(Environment.NewLine); RefColumns.Append("</columns>"); } else { RefColumns = new StringBuilder(""); } String DataSourceID = GenWebDataSource(BFI, WzdUtils.RemoveSpecialCharacters(BlockItem.TableName), "RefVal", ""); String refvalHTML = String.Empty; if (isAjaxPage) { refvalHTML = String.Format("<AjaxTools:AjaxRefVal ID=\"{0}\" runat=\"server\" BindingValue='<%# Bind(\"[{1}]\"{5}) %>' " + "DataSourceID=\"{2}\" " + "DataTextField=\"{3}\" DataValueField=\"{4}\" ResxDataSet=\"\">" + RefColumns.ToString() + "</AjaxTools:AjaxRefVal>", WzdUtils.RemoveSpecialCharacters("arv" + BlockItem.TableName + BFI.DataField + "F"), BFI.DataField, DataSourceID, FSYS_REFVAL.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString(), FSYS_REFVAL.Tables[0].Rows[0]["VALUE_MEMBER"].ToString(), FormatStyle ); } else { refvalHTML = String.Format("<InfoLight:WebRefVal ID=\"{0}\" runat=\"server\" BindingValue='<%# Bind(\"[{1}]\"{5}) %>' " + "ButtonImageUrl=\"../Image/refval/RefVal.gif\" DataBindingField=\"{1}\" DataSourceID=\"{2}\" " + "DataTextField=\"{3}\" DataValueField=\"{4}\" ReadOnly=\"False\" ResxDataSet=\"\" " + "ResxFilePath=\"\" UseButtonImage=\"True\"> " + RefColumns.ToString() + "</InfoLight:WebRefVal>", WzdUtils.RemoveSpecialCharacters("wrv" + BlockItem.TableName + BFI.DataField + "F"), BFI.DataField, DataSourceID, FSYS_REFVAL.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString(), FSYS_REFVAL.Tables[0].Rows[0]["VALUE_MEMBER"].ToString(), FormatStyle ); } builder.AppendLine(refvalHTML); break; case "ComboBox": string comboHTML = string.Format("<InfoLight:WebDropDownList runat=\"server\" ID=\"{0}\" DataSourceID=\"{1}\" DataTextField=\"{2}\" DataValueField=\"{3}\" DataMember=\"{4}\"></InfoLight:WebDropDownList>", WzdUtils.RemoveSpecialCharacters("wdd" + BlockItem.TableName + BFI.DataField + "F"), GenWebDataSource(BFI, BFI.ComboEntityName, "ComboBox", ""), BFI.ComboTextField, BFI.ComboValueField, BFI.ComboEntityName); builder.AppendLine(comboHTML); break; case "ValidateBox": String validateHTML = String.Format("<InfoLight:WebValidateBox ID=\"{0}\" runat=\"server\" Text='<%# Bind(\"[{1}]\"{3}) %>' ValidateField=\"{1}\" WebValidateID=\"{2}\"></InfoLight:WebValidateBox>", WzdUtils.RemoveSpecialCharacters("wvb" + BlockItem.TableName + BFI.DataField + "F"), BFI.DataField, "wv" + WzdUtils.RemoveSpecialCharacters(BlockItem.TableName), FormatStyle); builder.AppendLine(validateHTML); break; case "CheckBox": String checkHTML = String.Format("<asp:CheckBox ID=\"{0}\" runat=\"server\" Checked='<%# Bind(\"[{1}]\"{2}) %>'></asp:CheckBox>", WzdUtils.RemoveSpecialCharacters("cb" + BlockItem.TableName + BFI.DataField + "F"), BFI.DataField, FormatStyle); builder.AppendLine(checkHTML); break; case "DateTimeBox": String dtHTML = String.Empty; if (isAjaxPage) { dtHTML = String.Format("<AjaxTools:AjaxDateTimePicker runat=\"server\" DateFormat=\"{0}\" DateTimeType=\"{1}\" Localize=\"False\" MinYear=\"1950\" MaxYear=\"2050\" ToolTip=\"{2}\" Width=\"100px\" ID=\"{3}\" {4}='<%# Bind(\"[{5}]\"{6}) %>'></AjaxTools:AjaxDateTimePicker>", "None", (BFI.DataType == typeof(DateTime)) ? "DateTime" : "Varchar", BFI.DataField, WzdUtils.RemoveSpecialCharacters("wdt" + BlockItem.TableName + BFI.DataField + "F"), (BFI.DataType == typeof(DateTime)) ? "Text" : "DateString", BFI.DataField, FormatStyle); } else { dtHTML = string.Format("<InfoLight:WebDateTimePicker runat=\"server\" UseButtonImage=\"True\" DateFormat=\"{0}\" DateTimeType=\"{1}\" Localize=\"False\" MinYear=\"1950\" MaxYear=\"2050\" ToolTip=\"{2}\" Width=\"100px\" ID=\"{3}\"></InfoLight:WebDateTimePicker>", "None", (BFI.DataType == typeof(DateTime)) ? "DateTime" : "Varchar", BFI.DataField, WzdUtils.RemoveSpecialCharacters("wdt" + BlockItem.TableName + BFI.DataField + "F")); } builder.AppendLine(dtHTML); break; } } else if (template == "item") { switch (controlType) { case "RefValBox": IDbConnection conn = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, false); InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType); aInfoCommand.Connection = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, true); //aInfoCommand.Connection = conn; String OWNER = String.Empty, SS = this.FClientData.RealTableName, TableName = String.Empty; if (SS.Contains(".")) { OWNER = WzdUtils.GetToken(ref SS, new char[] { '.' }); TableName = SS; } aInfoCommand.CommandText = "Select * from COLDEF where TABLE_NAME='" + TableName + "' OR TABLE_NAME='" + OWNER + "." + TableName + "'"; IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand); DataSet dsColdef = new DataSet(); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, dsColdef, this.FClientData.TableName); DataSet aDataSet = new DataSet(); StringBuilder RefColumns = new StringBuilder("<Columns>"); aInfoCommand.CommandText = String.Format("Select * from SYS_REFVAL_D1 where REFVAL_NO = '{0}'", BFI.RefValNo); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, aDataSet, BFI.RefValNo); if (aDataSet != null && aDataSet.Tables.Count > 0 && aDataSet.Tables[0].Rows.Count > 0) { foreach (DataRow DR in aDataSet.Tables[0].Rows) { RefColumns.Append(Environment.NewLine); RefColumns.Append("<InfoLight:WebRefColumn ColumnName=\"" + DR["FIELD_NAME"].ToString() + "\" HeadText=\"" + DR["HEADER_TEXT"].ToString() + "\" Width=\"100\" />"); } RefColumns.Append(Environment.NewLine); RefColumns.Append("</columns>"); } else { RefColumns = new StringBuilder(""); } String DataSourceID = GenWebDataSource(BFI, WzdUtils.RemoveSpecialCharacters(BlockItem.TableName), "RefVal", ""); String refvalHTML = String.Format("<InfoLight:WebRefVal ID=\"{0}\" runat=\"server\" BindingValue='<%# Bind(\"[{1}]\"{5}) %>' " + "ButtonImageUrl=\"../Image/refval/RefVal.gif\" DataBindingField=\"{1}\" DataSourceID=\"{2}\" " + "DataTextField=\"{3}\" DataValueField=\"{4}\" ReadOnly=\"True\" BorderStyle=\"None\" ResxDataSet=\"\" " + "ResxFilePath=\"\" UseButtonImage=\"True\" Width=\"100px\" BackColor=\"Transparent\"> " + RefColumns.ToString() + "</InfoLight:WebRefVal>", WzdUtils.RemoveSpecialCharacters("wrv" + BlockItem.TableName + BFI.DataField + "E"), BFI.DataField, DataSourceID, FSYS_REFVAL.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString(), FSYS_REFVAL.Tables[0].Rows[0]["VALUE_MEMBER"].ToString(), FormatStyle ); builder.AppendLine(refvalHTML); break; default: string labelHTML = string.Format("<asp:Label runat=\"server\" ToolTip=\"{0}\" ID=\"{1}\" Text='<%# Bind(\"[{2}]\"{3}) %>'></asp:Label>", BFI.DataField, WzdUtils.RemoveSpecialCharacters("l" + BlockItem.TableName + BFI.DataField), BFI.DataField, FormatStyle); builder.AppendLine(labelHTML); break; } } return builder.ToString(); }
private void SetFieldNamesByProvider(String TableName, String ProviderName, ListView aListView) { if (ProviderName == null || ProviderName.Trim() == "") return; InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType); aInfoCommand.Connection = InternalConnection; TableName = WzdUtils.RemoveQuote(TableName, FClientData.DatabaseType); aInfoCommand.CommandText = "Select * from COLDEF where TABLE_NAME = '" + TableName + "'"; IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand); DataSet dsColdef = new DataSet(); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, dsColdef, TableName); aListView.Items.Clear(); InfoDataSet aDataSet = new InfoDataSet(); try { aDataSet.SetWizardDesignMode(true); aDataSet.RemoteName = ProviderName; aDataSet.AlwaysClose = true; aDataSet.Active = true; DataTable Table = aDataSet.RealDataSet.Tables[0]; foreach (DataColumn Column in Table.Columns) { ListViewItem aItem = new ListViewItem(Column.ColumnName); DataRow[] DRS = dsColdef.Tables[0].Select("FIELD_NAME='" + Column.ColumnName + "'"); if (DRS.Length == 1) aItem.SubItems.Add(DRS[0]["CAPTION"].ToString()); else aItem.SubItems.Add(""); aListView.Items.Add(aItem); TBlockFieldItem aFieldItem = new TBlockFieldItem(); aFieldItem.DataField = Column.ColumnName; aItem.Tag = aFieldItem; } } finally { aDataSet.Dispose(); } }
private void cbComboTableName_D_SelectedIndexChanged(object sender, EventArgs e) { if (cbComboTableName_D.Text == "") return; cbComboDisplayField_D.Items.Clear(); cbComboValueField_D.Items.Clear(); InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType); aInfoCommand.Connection = InternalConnection; aInfoCommand.CommandText = String.Format("Select * from {0} where 1=0", cbComboTableName_D.Text); IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand); DataSet aDataSet = new DataSet(); try { WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, aDataSet, cbComboTableName_D.Text); foreach (DataColumn DC in aDataSet.Tables[0].Columns) { cbComboDisplayField_D.Items.Add(DC.ColumnName); cbComboValueField_D.Items.Add(DC.ColumnName); } cbComboDisplayField_D.Items.Add(""); cbComboValueField_D.Items.Add(""); } catch { MessageBox.Show(cbComboTableName_D.Text + " is a illegal table."); cbComboTableName_D.Text = String.Empty; } }
private InfoRefVal GenRefVal(TBlockFieldItem FieldItem, string TableName) { String Name = "rv" + TableName + FieldItem.DataField; InfoRefVal Result = FDesignerHost.CreateComponent(typeof(InfoRefVal), Name) as InfoRefVal; 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); DataSet aDataSet = new DataSet(); //SYS_REFVAL aInfoCommand.CommandText = String.Format("Select * from SYS_REFVAL where REFVAL_NO = '{0}'", FieldItem.RefValNo); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, aDataSet, FieldItem.RefValNo); if (aDataSet.Tables[0].Rows.Count != 1) throw new Exception(String.Format("Unknown REFVAL_NO in SYS_REFVAL: {0}", FieldItem.RefValNo)); Result.Caption = aDataSet.Tables[0].Rows[0]["CAPTION"].ToString(); Result.DisplayMember = aDataSet.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString(); Result.ValueMember = aDataSet.Tables[0].Rows[0]["VALUE_MEMBER"].ToString(); Result.SelectAlias = aDataSet.Tables[0].Rows[0]["SELECT_ALIAS"].ToString(); Result.SelectCommand = aDataSet.Tables[0].Rows[0]["SELECT_COMMAND"].ToString(); //SYS_REFVSL_D1 --> Columns aDataSet.Clear(); aInfoCommand.CommandText = String.Format("Select * from SYS_REFVAL_D1 where REFVAL_NO = '{0}'", FieldItem.RefValNo); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, aDataSet, FieldItem.RefValNo); foreach (DataRow DR in aDataSet.Tables[0].Rows) { RefColumns RC = new RefColumns(); RC.Column = DR["FIELD_NAME"].ToString(); RC.HeaderText = DR["HEADER_TEXT"].ToString(); Result.Columns.Add(RC); } return Result; }
private void cbControlType_D_SelectedIndexChanged(object sender, EventArgs e) { tbComboRemoteName_D.Text = String.Empty; tbComboTableName_D.Text = String.Empty; tbComboTableName_D_F.Text = String.Empty; cbComboValueField_D.Items.Clear(); cbComboDisplayField_D.Items.Clear(); cbComboValueField_D.Text = String.Empty; cbComboDisplayField_D.Text = String.Empty; if ((sender as ComboBox).SelectedItem.ToString() == "ComboBox" || (sender as ComboBox).SelectedItem.ToString() == "ComboGrid" || (sender as ComboBox).SelectedItem.ToString() == "RefValBox") { cbComboTableName_D.Enabled = true; cbComboValueField_D.Enabled = true; cbComboDisplayField_D.Enabled = true; cbRefValNo_D.Enabled = false; btnRefValNo_D.Enabled = true; tbComboRemoteName_D.Enabled = true; tbComboTableName_D.Enabled = true; if (cbComboTableName_D.Items.Count == 0) { cbComboTableName_D.Items.Add(""); if (FClientData.DatabaseType != ClientType.ctInformix) { String[] Params = null; String ViewFieldName = "TABLE_NAME"; if (FClientData.DatabaseType == ClientType.ctOracle) { String UserID = WzdUtils.GetFieldParam(InternalConnection.ConnectionString.ToLower(), "user id"); Params = new String[] { UserID.ToUpper() }; ViewFieldName = "VIEW_NAME"; } DataTable T = InternalConnection.GetSchema("Tables", Params); SortedList<String, String> sTable = new SortedList<String, String>(); foreach (DataRow DR in T.Rows) { sTable.Add(DR["TABLE_NAME"].ToString(), DR["TABLE_NAME"].ToString()); } DataTable D1 = InternalConnection.GetSchema("Views", Params); foreach (DataRow DR in D1.Rows) { if (!sTable.ContainsKey(DR[ViewFieldName].ToString())) sTable.Add(DR[ViewFieldName].ToString(), DR[ViewFieldName].ToString()); } foreach (var item in sTable) cbComboTableName_D.Items.Add(item.Key); } else { List<String> allTables = WzdUtils.GetAllTablesList(InternalConnection, ClientType.ctInformix); allTables.Sort(); foreach (String str in allTables) cbComboTableName_D.Items.Add(str); } } if (cbRefValNo_D.Items.Count == 0) { try { InfoCommand FInfoCommand = new InfoCommand(FClientData.DatabaseType); FInfoCommand.Connection = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, true); FInfoCommand.CommandText = "Select REFVAL_NO from SYS_REFVAL"; IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(FInfoCommand); DataSet aDataSet = new DataSet(); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, aDataSet, "SYS_REFVAL"); DataTable aDataTable = aDataSet.Tables[0]; foreach (DataRow DR in aDataTable.Rows) { cbRefValNo_D.Items.Add(DR["REFVAL_NO"].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(); comm.CommandText = "Select REFVAL_NO from SYS_REFVAL"; IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(comm); DataSet aDataSet = new DataSet(); WzdUtils.FillDataAdapter(sSysDBType, DA, aDataSet, "SYS_REFVAL"); DataTable aDataTable = aDataSet.Tables[0]; foreach (DataRow DR in aDataTable.Rows) { cbRefValNo_D.Items.Add(DR["REFVAL_NO"].ToString()); } } } } } else if ((sender as ComboBox).SelectedItem.ToString() == "RefValBox") { cbComboTableName_D.Enabled = false; cbComboValueField_D.Enabled = false; cbComboDisplayField_D.Enabled = false; cbRefValNo_D.Enabled = true; btnRefValNo_D.Enabled = true; tbComboRemoteName_D.Enabled = true; tbComboTableName_D.Enabled = true; if (cbRefValNo_D.Items.Count == 0) { try { InfoCommand FInfoCommand = new InfoCommand(FClientData.DatabaseType); FInfoCommand.Connection = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, true); FInfoCommand.CommandText = "Select REFVAL_NO from SYS_REFVAL"; IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(FInfoCommand); DataSet aDataSet = new DataSet(); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, aDataSet, "SYS_REFVAL"); DataTable aDataTable = aDataSet.Tables[0]; foreach (DataRow DR in aDataTable.Rows) { cbRefValNo_D.Items.Add(DR["REFVAL_NO"].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(); comm.CommandText = "Select REFVAL_NO from SYS_REFVAL"; IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(comm); DataSet aDataSet = new DataSet(); WzdUtils.FillDataAdapter(sSysDBType, DA, aDataSet, "SYS_REFVAL"); DataTable aDataTable = aDataSet.Tables[0]; foreach (DataRow DR in aDataTable.Rows) { cbRefValNo_D.Items.Add(DR["REFVAL_NO"].ToString()); } } } } } else { cbComboTableName_D.Enabled = false; cbComboValueField_D.Enabled = false; cbComboDisplayField_D.Enabled = false; cbRefValNo_D.Enabled = false; btnRefValNo_D.Enabled = false; btnRefValNo_D.Text = String.Empty; tbComboRemoteName_D.Enabled = false; tbComboTableName_D.Enabled = false; } }
private void cbControlType_SelectedIndexChanged(object sender, EventArgs e) { if ((sender as ComboBox).SelectedItem.ToString() == "ComboBox") { cbComboTableName.Enabled = true; cbDataValueField.Enabled = true; cbDataTextField.Enabled = true; cbRefValNo.Enabled = false; btnRefValNo.Enabled = false; if (cbComboTableName.Items.Count == 0) { cbComboTableName.Items.Add(""); if (FClientData.DatabaseType != ClientType.ctInformix) { String[] Params = null; String ViewFieldName = "TABLE_NAME"; if (FClientData.DatabaseType == ClientType.ctOracle) { String UserID = WzdUtils.GetFieldParam(InternalConnection.ConnectionString.ToLower(), "user id"); Params = new String[] { UserID.ToUpper() }; ViewFieldName = "VIEW_NAME"; } DataTable T = InternalConnection.GetSchema("Tables", Params); SortedList<String, String> sTable = new SortedList<String, String>(); foreach (DataRow DR in T.Rows) { sTable.Add(DR["TABLE_NAME"].ToString(), DR["TABLE_NAME"].ToString()); } DataTable D1 = InternalConnection.GetSchema("Views", Params); foreach (DataRow DR in D1.Rows) { if (!sTable.ContainsKey(DR[ViewFieldName].ToString())) sTable.Add(DR[ViewFieldName].ToString(), DR[ViewFieldName].ToString()); } foreach (var item in sTable) cbComboTableName.Items.Add(item.Key); } else { List<String> allTables = WzdUtils.GetAllTablesList(InternalConnection, ClientType.ctInformix); allTables.Sort(); foreach (String str in allTables) cbComboTableName.Items.Add(str); } } if (cbRefValNo.Items.Count == 0) { InfoCommand FInfoCommand = new InfoCommand(FClientData.DatabaseType); FInfoCommand.Connection = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, true); FInfoCommand.CommandText = "Select REFVAL_NO from SYS_REFVAL"; IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(FInfoCommand); DataSet aDataSet = new DataSet(); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, aDataSet, "SYS_REFVAL"); DataTable aDataTable = aDataSet.Tables[0]; foreach (DataRow DR in aDataTable.Rows) { cbRefValNo.Items.Add(DR["REFVAL_NO"].ToString()); } } } else if ((sender as ComboBox).SelectedItem.ToString() == "RefValBox") { cbComboTableName.Enabled = false; cbDataValueField.Enabled = false; cbDataTextField.Enabled = false; cbRefValNo.Enabled = true; btnRefValNo.Enabled = true; if (cbRefValNo.Items.Count == 0) { InfoCommand FInfoCommand = new InfoCommand(FClientData.DatabaseType); FInfoCommand.Connection = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, true); FInfoCommand.CommandText = "Select REFVAL_NO from SYS_REFVAL"; IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(FInfoCommand); DataSet aDataSet = new DataSet(); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, aDataSet, "SYS_REFVAL"); DataTable aDataTable = aDataSet.Tables[0]; foreach (DataRow DR in aDataTable.Rows) { cbRefValNo.Items.Add(DR["REFVAL_NO"].ToString()); } } } else { cbComboTableName.Enabled = false; cbDataValueField.Enabled = false; cbDataTextField.Enabled = false; cbRefValNo.Enabled = false; btnRefValNo.Enabled = false; btnRefValNo.Text = String.Empty; } }
public void GetFieldNames(string DatabaseName, string TableName, String DataSetName, ListView SrcListView, ListView DestListView) { System.Windows.Forms.TreeNode Node = tvRelation.SelectedNode; if (Node == null) return; InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType); aInfoCommand.Connection = InternalConnection; String OWNER = String.Empty, SS = TableName; if (SS.Contains(".")) { OWNER = WzdUtils.GetToken(ref SS, new char[] { '.' }); TableName = SS; } aInfoCommand.CommandText = "Select * from COLDEF where TABLE_NAME='" + TableName + "' OR TABLE_NAME='" + OWNER + "." + TableName + "'"; IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand); DataSet dsColdef = new DataSet(); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, dsColdef, "COLDEF"); int Index = FInfoDataSet.RealDataSet.Tables.IndexOf(WzdUtils.RemoveSpace(DataSetName)); DataTable Table = FInfoDataSet.RealDataSet.Tables[Index]; int I; ListViewItem ViewItem; for (I = 0; I < DestListView.Items.Count; I++) { ViewItem = DestListView.Items[I]; if (Table.Columns.IndexOf(ViewItem.Text) < 0) { if (ViewItem.Tag != null) if (ViewItem.Tag.GetType().Equals(typeof(TBlockFieldItem))) { TBlockFieldItem B = (TBlockFieldItem)ViewItem.Tag; B.Collection.Remove(B); } } } SrcListView.Items.Clear(); bool Found; int J; DataRow[] DRs = null; for (I = 0; I < Table.Columns.Count; I++) { Found = false; for (J = 0; J < DestListView.Items.Count; J++) { ViewItem = DestListView.Items[J]; if (string.Compare(Table.Columns[I].ColumnName, ViewItem.Text, false) == 0) { Found = true; break; } } if (Found == false) { TBlockFieldItem FieldItem = new TBlockFieldItem(); FieldItem.DataField = Table.Columns[I].ColumnName; FieldItem.DataType = Table.Columns[I].DataType; ViewItem = SrcListView.Items.Add(Table.Columns[I].ColumnName); ViewItem.Tag = FieldItem; DRs = dsColdef.Tables[0].Select("TABLE_NAME = '" + WzdUtils.RemoveQuote(TableName, FClientData.DatabaseType) + "' and FIELD_NAME = '" + Table.Columns[I].ColumnName + "'"); if (DRs.Length == 1) { FieldItem.Description = DRs[0]["CAPTION"].ToString(); FieldItem.CheckNull = DRs[0]["CHECK_NULL"].ToString(); FieldItem.DefaultValue = DRs[0]["DEFAULT_VALUE"].ToString(); FieldItem.IsKey = DRs[0]["IS_KEY"].ToString().ToUpper() == "Y"; FieldItem.ControlType = DRs[0]["NEEDBOX"].ToString(); FieldItem.EditMask = DRs[0]["EDITMASK"].ToString(); if (DRs[0]["FIELD_LENGTH"] != null && DRs[0]["FIELD_LENGTH"].ToString() != String.Empty) FieldItem.Length = int.Parse(DRs[0]["FIELD_LENGTH"].ToString()); if (DRs[0]["IS_KEY"] != null && DRs[0]["IS_KEY"].ToString() == "Y") FieldItem.IsKey = true; } ViewItem.SubItems.Add(FieldItem.Description); } } }
private void GenRefValTemplate(String ExtraName) { //WebRefVal WebRefVal aWebRefVal = new WebRefVal(); aWebRefVal.ID = "wrv" + FTableName + FFieldItem.DataField + ExtraName + "GridView"; aWebRefVal.DataSourceID = FDataSourceID; //if (ExtraName != "F") aWebRefVal.DataBindingField = FFieldItem.DataField; if (ExtraName == "") { aWebRefVal.ReadOnly = true; aWebRefVal.BackColor = Color.Transparent; aWebRefVal.BorderStyle = System.Web.UI.WebControls.BorderStyle.None; } aWebRefVal.Width = 130; if (FFieldItem.RefField != null) { aWebRefVal.DataValueField = FFieldItem.RefField.ValueMember; aWebRefVal.DataTextField = FFieldItem.RefField.DisplayMember; foreach (RefColumns aColumn in FFieldItem.RefField.LookupColumns) { WebRefColumn RC = new WebRefColumn(); RC.ColumnName = aColumn.Column; RC.HeadText = aColumn.HeaderText; aWebRefVal.Columns.Add(RC); } } else { InfoCommand aInfoCommand = new InfoCommand(DatabaseType); //aInfoCommand.Connection = WzdUtils.AllocateConnection(DatabaseName, DatabaseType, true); aInfoCommand.Connection = FConnection; IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand); DataSet aDataSet = new DataSet(); //SYS_REFVAL aDataSet.Clear(); aInfoCommand.CommandText = String.Format("Select * from SYS_REFVAL where REFVAL_NO = '{0}'", FFieldItem.RefValNo); WzdUtils.FillDataAdapter(FDatabaseType, DA, aDataSet, FFieldItem.RefValNo); aWebRefVal.DataValueField = aDataSet.Tables[0].Rows[0]["VALUE_MEMBER"].ToString(); aWebRefVal.DataTextField = aDataSet.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString(); //aWebRefVal.BindingValue = "'<%# + Bind(\"" + FFieldItem.DataField + "\") %>'"; //SYS_REFVSL_D1 --> Columns aDataSet.Clear(); aInfoCommand.CommandText = String.Format("Select * from SYS_REFVAL_D1 where REFVAL_NO = '{0}'", FFieldItem.RefValNo); WzdUtils.FillDataAdapter(FDatabaseType, DA, aDataSet, FFieldItem.RefValNo); foreach (DataRow DR in aDataSet.Tables[0].Rows) { WebRefColumn RC = new WebRefColumn(); RC.ColumnName = DR["FIELD_NAME"].ToString(); RC.HeadText = DR["HEADER_TEXT"].ToString(); aWebRefVal.Columns.Add(RC); } } FContainer.Controls.Add(aWebRefVal); Boolean Found = false; foreach (WebRefVal bWebRefVal in aWebRefValList) { if (String.Compare(bWebRefVal.ID, aWebRefVal.ID) == 0) { Found = true; break; } } if (!Found) aWebRefValList.Add(aWebRefVal); //Add AddNewRowControlItem to WebGridView if (ExtraName == "F") { if (FWebGridView != null) { Found = false; foreach (AddNewRowControlItem aControlItem in FWebGridView.AddNewRowControls) { if (aControlItem.FieldName.CompareTo(FFieldItem.DataField) == 0) { Found = true; break; } } if (!Found) { AddNewRowControlItem aItem = new AddNewRowControlItem(); aItem.ControlID = "wrv" + FTableName + FFieldItem.DataField + ExtraName; aItem.ControlType = WebGridView.AddNewRowControlType.RefVal; aItem.FieldName = FFieldItem.DataField; FWebGridView.AddNewRowControls.Add(aItem); } } } }
private void AddBlockItem(string BlockName, string ProviderName, string TableName, ListView LV) { int I; TBlockItem BlockItem = new TBlockItem(); TBlockFieldItem BlockFieldItem; InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType); aInfoCommand.Connection = InternalConnection; String OWNER = String.Empty, SS = TableName; if (SS.Contains(".")) { OWNER = WzdUtils.GetToken(ref SS, new char[] { '.' }); TableName = SS; } aInfoCommand.CommandText = "Select * from COLDEF where TABLE_NAME='" + TableName + "' OR TABLE_NAME='" + OWNER + "." + TableName + "'"; IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand); DataSet DS = new DataSet(); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, DS, TableName); BlockItem.Name = BlockName; BlockItem.ProviderName = ProviderName; BlockItem.TableName = TableName; for (I = 0; I < LV.Items.Count; I++) { ListViewItem aItem = LV.Items[I]; BlockFieldItem = new TBlockFieldItem(); if (aItem.Tag != null) { BlockFieldItem.DataField = ((TBlockFieldItem)aItem.Tag).DataField; BlockFieldItem.CheckNull = ((TBlockFieldItem)aItem.Tag).CheckNull; BlockFieldItem.DefaultValue = ((TBlockFieldItem)aItem.Tag).DefaultValue; BlockFieldItem.Description = ((TBlockFieldItem)aItem.Tag).Description; BlockFieldItem.RefValNo = ((TBlockFieldItem)aItem.Tag).RefValNo; BlockFieldItem.ControlType = ((TBlockFieldItem)aItem.Tag).ControlType; BlockFieldItem.ComboEntityName = ((TBlockFieldItem)aItem.Tag).ComboEntityName; BlockFieldItem.ComboRemoteName = ((TBlockFieldItem)aItem.Tag).ComboRemoteName; BlockFieldItem.ComboTextField = ((TBlockFieldItem)aItem.Tag).ComboTextField; BlockFieldItem.ComboValueField = ((TBlockFieldItem)aItem.Tag).ComboValueField; BlockFieldItem.ComboTextFieldCaption = ((TBlockFieldItem)aItem.Tag).ComboTextFieldCaption; BlockFieldItem.ComboValueFieldCaption = ((TBlockFieldItem)aItem.Tag).ComboValueFieldCaption; BlockFieldItem.DataType = ((TBlockFieldItem)aItem.Tag).DataType; BlockFieldItem.QueryMode = ((TBlockFieldItem)aItem.Tag).QueryMode; BlockFieldItem.EditMask = ((TBlockFieldItem)aItem.Tag).EditMask; BlockFieldItem.Length = ((TBlockFieldItem)aItem.Tag).Length; BlockFieldItem.ComboOtherFields = ((TBlockFieldItem)aItem.Tag).ComboOtherFields; BlockFieldItem.IsKey = ((TBlockFieldItem)aItem.Tag).IsKey; BlockFieldItem.HideGridColumn = ((TBlockFieldItem)aItem.Tag).HideGridColumn; } else { BlockFieldItem.DataField = aItem.Text; } /* BlockFieldItem.DataField = LV.Items[I].Text; DRs = DS.Tables[0].Select("FIELD_NAME='" + BlockFieldItem.DataField + "'"); if (DRs.Length == 1) { DR = DRs[0]; if (!DR.IsNull("FIELD_LENGTH")) BlockFieldItem.Length = int.Parse(DR["FIELD_LENGTH"].ToString()); if (DR["IS_KEY"].ToString() == "Y") { BlockFieldItem.IsKey = true; } else { BlockFieldItem.IsKey = false; } BlockFieldItem.Description = DR["CAPTION"].ToString(); if (LV.Items[I].SubItems.Count == 3) { BlockFieldItem.RefValNo = aItem.SubItems[2].Text; } if (BlockFieldItem.Description == "") { BlockFieldItem.Description = BlockFieldItem.DataField; } BlockFieldItem.CheckNull = DR["CHECK_NULL"].ToString().ToUpper(); BlockFieldItem.DefaultValue = DR["DEFAULT_VALUE"].ToString(); } */ BlockItem.BlockFieldItems.Add(BlockFieldItem); } FClientData.Blocks.Add(BlockItem); }
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 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 GenDetailBlock_2() { MWizard.TBlockItem BlockItem = null; foreach (TBlockItem B in FClientData.Blocks) { if (B.wDataSource == null) { BlockItem = B; break; } } #if VS90 object oDetail = FDesignerDocument.webControls.item("Detail", 0); WebDevPage.IHTMLElement eDetail = null; if (oDetail == null || !(oDetail is WebDevPage.IHTMLElement)) return; eDetail = (WebDevPage.IHTMLElement)oDetail; eDetail.setAttribute("DataMember", BlockItem.TableName, 0); WebDevPage.IHTMLElement FormView = (WebDevPage.IHTMLElement)FDesignerDocument.webControls.item("wfvDetail", 0); if (FormView != null) { WebDefault Default = new WebDefault(); Default.ID = "wd" + WzdUtils.RemoveSpecialCharacters(BlockItem.TableName); Default.DataSourceID = eDetail.getAttribute("ID", 0).ToString(); Default.DataMember = BlockItem.TableName; WebValidate Validate = new WebValidate(); Validate.ID = "wv" + WzdUtils.RemoveSpecialCharacters(BlockItem.TableName); Validate.DataSourceID = eDetail.getAttribute("ID", 0).ToString(); Validate.DataMember = BlockItem.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); 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); } FormView = (WebDevPage.IHTMLElement)FDesignerDocument.webControls.item("wfvDetail", 0); RefreshFormView(FormView, BlockItem); } #else bool isAjaxPage = false; if (FPage.FindControl("AjaxScriptManager1") != null) isAjaxPage = true; WebDataSource Detail = (WebDataSource)FPage.FindControl("Detail"); Detail.DataMember = BlockItem.TableName; WebFormView WebFormView2 = (WebFormView)FPage.FindControl("wfvDetail"); if (WebFormView2 == null) { return; } //WebFormView2.DataMember = BlockItem.TableName; WebDefault aDefault = new WebDefault(); aDefault.ID = "wd" + BlockItem.TableName; aDefault.DataSourceID = Detail.ID; aDefault.DataMember = Detail.DataMember; WebValidate aValidate = (WebValidate)FPage.FindControl("WebDetailValidate"); if (aValidate == null) { aValidate = new WebValidate(); aValidate.ID = "wv" + BlockItem.TableName; } aValidate.DataSourceID = Detail.ID; aValidate.DataMember = Detail.DataMember; IDbConnection conn = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, false); InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType); aInfoCommand.Connection = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, true); //aInfoCommand.Connection = conn; String OWNER = String.Empty, SS = this.FClientData.RealTableName, TableName = String.Empty; if (SS.Contains(".")) { OWNER = WzdUtils.GetToken(ref SS, new char[] { '.' }); TableName = SS; } aInfoCommand.CommandText = "Select * from COLDEF where TABLE_NAME='" + TableName + "' OR TABLE_NAME='" + OWNER + "." + TableName + "'"; IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand); DataSet dsColdef = new DataSet(); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, dsColdef, this.FClientData.TableName); FormViewDesigner aDesigner = FDesignerHost.GetDesigner(WebFormView2) as FormViewDesigner; Boolean Done = false; WebDataSourceDesigner aWebDataSourceDesigner = FDesignerHost.GetDesigner(Detail) as WebDataSourceDesigner; if (aWebDataSourceDesigner != null) aWebDataSourceDesigner.RefreshSchema(true); foreach (TemplateGroup tempGroup in aDesigner.TemplateGroups) { foreach (TemplateDefinition tempDefin in tempGroup.Templates) { if (tempDefin.Name == "EditItemTemplate" || tempDefin.Name == "InsertItemTemplate" || tempDefin.Name == "ItemTemplate") { StringBuilder builder = new StringBuilder(); string content = tempDefin.Content; if (content == null || content.Length == 0) continue; string[] ctrlTexts = content.Split("\r\n".ToCharArray()); int i = 0; int j = 0; int m = WebFormView2.LayOutColNum * 2; List<string> lists = new List<string>(); String ExtraName = ""; foreach (TBlockFieldItem aFieldItem in BlockItem.BlockFieldItems) { if (!Done) { GenDefault(aFieldItem, aDefault, aValidate); } lists.Add(aFieldItem.DataField); if ((aFieldItem.RefValNo != null && aFieldItem.RefValNo != "") || aFieldItem.RefField != null) { String DataSourceID = GenWebDataSource(aFieldItem, BlockItem.TableName, "RefVal", ""); switch (tempDefin.Name) { case "EditItemTemplate": ExtraName = "E"; break; case "InsertItemTemplate": ExtraName = "I"; if (aFieldItem.DefaultValue != null && aFieldItem.DefaultValue != "") { FormViewField aViewField = new FormViewField(); aViewField.ControlID = "wrv2" + BlockItem.TableName + aFieldItem.DataField + ExtraName; aViewField.FieldName = aFieldItem.DataField; WebFormView2.Fields.Add(aViewField); } break; case "ItemTemplate": ExtraName = ""; break; } DataSet aDataSet = new DataSet(); StringBuilder RefColumns = new StringBuilder("<Columns>"); aInfoCommand.CommandText = String.Format("Select * from SYS_REFVAL_D1 where REFVAL_NO = '{0}'", aFieldItem.RefValNo); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, aDataSet, aFieldItem.RefValNo); if (aDataSet != null && aDataSet.Tables.Count > 0 && aDataSet.Tables[0].Rows.Count > 0) { foreach (DataRow DR in aDataSet.Tables[0].Rows) { RefColumns.Append(Environment.NewLine); RefColumns.Append("<InfoLight:WebRefColumn ColumnName=\"" + DR["FIELD_NAME"].ToString() + "\" HeadText=\"" + DR["HEADER_TEXT"].ToString() + "\" Width=\"100\" />"); } RefColumns.Append(Environment.NewLine); RefColumns.Append("</Columns>"); } else { RefColumns = new StringBuilder(""); } if (tempDefin.Name == "ItemTemplate") { String FormatStyle = FormatEditMask(aFieldItem.EditMask); String S6 = String.Empty; if (isAjaxPage) { S6 = String.Format("<asp:Label ID=\"{0}\" runat=\"server\" Text='<%# Bind(\"{1}\"{2}) %>'></asp:Label>", "l" + aFieldItem.DataField, aFieldItem.DataField, FormatStyle); } else { S6 = String.Format("<InfoLight:WebRefVal ID=\"{0}\" runat=\"server\" BindingValue='<%# Bind(\"{1}\"{5}) %>' " + "ButtonImageUrl=\"../Image/refval/RefVal.gif\" DataBindingField=\"{1}\" DataSourceID=\"{2}\" " + "DataTextField=\"{3}\" DataValueField=\"{4}\" ReadOnly=\"True\" ResxDataSet=\"\" " + "ResxFilePath=\"\" UseButtonImage=\"True\" Width=\"130px\" BackColor=\"Transparent\" BorderStyle=\"None\"> " + RefColumns.ToString() + "</InfoLight:WebRefVal>", "wrv2" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, DataSourceID, FSYS_REFVAL.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString(), FSYS_REFVAL.Tables[0].Rows[0]["VALUE_MEMBER"].ToString(), FormatStyle ); } lists.Add(S6); } else { String FormatStyle = FormatEditMask(aFieldItem.EditMask); String S1 = String.Empty; if (isAjaxPage) { S1 = String.Format("<AjaxTools:AjaxRefVal ID=\"{0}\" runat=\"server\" BindingValue='<%# Bind(\"{1}\"{5}) %>' " + "DataSourceID=\"{2}\" " + "DataTextField=\"{3}\" DataValueField=\"{4}\" ResxDataSet=\"\">" + RefColumns.ToString() + "</AjaxTools:AjaxRefVal>", "arv2" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, DataSourceID, FSYS_REFVAL.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString(), FSYS_REFVAL.Tables[0].Rows[0]["VALUE_MEMBER"].ToString(), FormatStyle ); } else { S1 = String.Format("<InfoLight:WebRefVal ID=\"{0}\" runat=\"server\" BindingValue='<%# Bind(\"{1}\"{5}) %>' " + "ButtonImageUrl=\"../Image/refval/RefVal.gif\" DataBindingField=\"{1}\" DataSourceID=\"{2}\" " + "DataTextField=\"{3}\" DataValueField=\"{4}\" ReadOnly=\"False\" ResxDataSet=\"\" " + "ResxFilePath=\"\" UseButtonImage=\"True\"> " + RefColumns.ToString() + "</InfoLight:WebRefVal>", "wrv2" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, DataSourceID, FSYS_REFVAL.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString(), FSYS_REFVAL.Tables[0].Rows[0]["VALUE_MEMBER"].ToString(), FormatStyle ); } lists.Add(S1); } } else if (aFieldItem.ControlType == "ComboBox") { String FormatStyle = FormatEditMask(aFieldItem.EditMask); String DataSourceID = GenWebDataSource(aFieldItem, aFieldItem.ComboEntityName, "ComboBox", ""); String S5 = ""; switch (tempDefin.Name) { case "EditItemTemplate": ExtraName = "E"; S5 = String.Format("<InfoLight:WebDropDownList id=\"{0}\" runat=\"server\" DataMember=\"{1}\" DataSourceID=\"{2}\" __designer:wfdid=\"w3\" DataTextField=\"{3}\" Filter DataValueField=\"{4}\" AutoInsertEmptyData=\"False\" SelectedValue='<%# Bind(\"{5}\"{6})%>' Width=\"130px\"></InfoLight:WebDropDownList>", "wdd2" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.ComboEntityName, DataSourceID, aFieldItem.ComboTextField, aFieldItem.ComboValueField, aFieldItem.DataField, FormatStyle); break; case "InsertItemTemplate": ExtraName = "I"; S5 = String.Format("<InfoLight:WebDropDownList id=\"{0}\" runat=\"server\" DataMember=\"{1}\" DataSourceID=\"{2}\" __designer:wfdid=\"w3\" DataTextField=\"{3}\" Filter DataValueField=\"{4}\" AutoInsertEmptyData=\"False\" SelectedValue='<%# Bind(\"{5}\"{6}) %>' Width=\"130px\"></InfoLight:WebDropDownList>", "wdd2" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.ComboEntityName, DataSourceID, aFieldItem.ComboTextField, aFieldItem.ComboValueField, aFieldItem.DataField, FormatStyle); if (aFieldItem.DefaultValue != null && aFieldItem.DefaultValue != "") { FormViewField aViewField = new FormViewField(); aViewField.ControlID = "wdd2" + BlockItem.TableName + aFieldItem.DataField + ExtraName; aViewField.FieldName = aFieldItem.DataField; WebFormView2.Fields.Add(aViewField); } break; case "ItemTemplate": ExtraName = ""; S5 = String.Format("<asp:Label ID=\"{0}\" runat=\"server\" Text='<%# Bind(\"{1}\"{2}) %>'></asp:Label>", "l2" + aFieldItem.DataField, aFieldItem.DataField, FormatStyle); break; } lists.Add(S5); } else if (aFieldItem.ControlType == "ValidateBox") { String FormatStyle = FormatEditMask(aFieldItem.EditMask); String S6 = ""; switch (tempDefin.Name) { case "EditItemTemplate": ExtraName = "E"; S6 = String.Format("<InfoLight:WebValidateBox ID=\"{0}\" runat=\"server\" Text='<%# Bind(\"{1}\"{3}) %>' ValidateField=\"{1}\" WebValidateID=\"{2}\" MaxLength=\"{4}\"></InfoLight:WebValidateBox></td>", "wvb2" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, aValidate.ID, FormatStyle, aFieldItem.Length); break; case "InsertItemTemplate": ExtraName = "I"; if (aFieldItem.DefaultValue != null && aFieldItem.DefaultValue != "") { FormViewField aViewField = new FormViewField(); aViewField.ControlID = "wdd2" + BlockItem.TableName + aFieldItem.DataField + ExtraName; aViewField.FieldName = aFieldItem.DataField; WebFormView2.Fields.Add(aViewField); } S6 = String.Format("<InfoLight:WebValidateBox ID=\"{0}\" runat=\"server\" Text='<%# Bind(\"{1}\"{3}) %>' ValidateField=\"{1}\" WebValidateID=\"{2}\" MaxLength=\"{4}\"></InfoLight:WebValidateBox></td>", "wvb2" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, aValidate.ID, FormatStyle, aFieldItem.Length); break; case "ItemTemplate": ExtraName = ""; S6 = String.Format("<asp:Label ID=\"{0}\" runat=\"server\" Text='<%# Bind(\"{1}\"{2}) %>'></asp:Label>", "l2" + aFieldItem.DataField, aFieldItem.DataField, FormatStyle); break; } lists.Add(S6); } else if (aFieldItem.ControlType == "CheckBox") { String FormatStyle = FormatEditMask(aFieldItem.EditMask); String S6 = ""; switch (tempDefin.Name) { case "EditItemTemplate": ExtraName = "E"; S6 = String.Format("<asp:CheckBox ID=\"{0}\" runat=\"server\" Checked='<%# Bind(\"{1}\"{2}) %>'></asp:CheckBox></td>", "cb2" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, FormatStyle); break; case "InsertItemTemplate": ExtraName = "I"; S6 = String.Format("<asp:CheckBox ID=\"{0}\" runat=\"server\" Checked='<%# Bind(\"{1}\"{2}) %>'></asp:CheckBox></td>", "wvb2" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, FormatStyle); break; case "ItemTemplate": ExtraName = ""; S6 = String.Format("<asp:Label ID=\"{0}\" runat=\"server\" Text='<%# Bind(\"{1}\"{2}) %>'></asp:Label>", "l2" + aFieldItem.DataField, aFieldItem.DataField, FormatStyle); break; } lists.Add(S6); } else { if (aFieldItem.DataType == typeof(DateTime) || (aFieldItem.ControlType != null && aFieldItem.ControlType.ToUpper() == "DATETIMEBOX")) { String DataTimeType = ""; if (aFieldItem.EditMask == "ShortDate") DataTimeType = "ShortDate"; else if (aFieldItem.EditMask == "LongDate") DataTimeType = "ShortDate"; else DataTimeType = "None"; String FormatStyle = FormatEditMask(aFieldItem.EditMask); String S4 = ""; if (isAjaxPage) { switch (tempDefin.Name) { case "EditItemTemplate": ExtraName = "E"; if (aFieldItem.DataType == typeof(DateTime)) S4 = String.Format("<AjaxTools:AjaxDateTimePicker id=\"{0}\" runat=\"server\" Width=\"130px\" Text='<%# Bind(\"{1}\"{2}) %>' DateFormat=\"" + DataTimeType + "\" DateTimeType=\"DateTime\"></AjaxTools:AjaxDateTimePicker>", "wdtp2" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, FormatStyle); else if (aFieldItem.DataType == typeof(String) && (aFieldItem.ControlType != null && aFieldItem.ControlType.ToUpper() == "DATETIMEBOX")) S4 = String.Format("<AjaxTools:AjaxDateTimePicker id=\"{0}\" runat=\"server\" Width=\"130px\" DateString='<%# Bind(\"{1}\"{2}) %>' DateFormat=\"" + DataTimeType + "\" DateTimeType=\"Varchar\"></AjaxTools:AjaxDateTimePicker>", "wdtp2" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, FormatStyle); break; case "InsertItemTemplate": ExtraName = "I"; if (aFieldItem.DataType == typeof(DateTime)) S4 = String.Format("<AjaxTools:AjaxDateTimePicker id=\"{0}\" runat=\"server\" Width=\"130px\" Text='<%# Bind(\"{1}\"{2}) %>' DateFormat=\"" + DataTimeType + "\" DateTimeType=\"DateTime\"></AjaxTools:AjaxDateTimePicker>", "wdtp2" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, FormatStyle); else if (aFieldItem.DataType == typeof(String) && (aFieldItem.ControlType != null && aFieldItem.ControlType.ToUpper() == "DATETIMEBOX")) S4 = String.Format("<AjaxTools:AjaxDateTimePicker id=\"{0}\" runat=\"server\" Width=\"130px\" DateString='<%# Bind(\"{1}\"{2}) %>' DateFormat=\"" + DataTimeType + "\" DateTimeType=\"Varchar\"></AjaxTools:AjaxDateTimePicker>", "wdtp2" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, FormatStyle); break; case "ItemTemplate": ExtraName = ""; S4 = String.Format("<asp:Label ID=\"{0}\" runat=\"server\" Text='<%# Bind(\"{1}\"{2}) %>'></asp:Label>", "l" + aFieldItem.DataField, aFieldItem.DataField, FormatStyle); break; } } else { switch (tempDefin.Name) { case "EditItemTemplate": ExtraName = "E"; if (aFieldItem.DataType == typeof(DateTime)) S4 = String.Format("<InfoLight:WebDateTimePicker id=\"{0}\" runat=\"server\" Width=\"100px\" Text='<%# Bind(\"{1}\"{2}) %>' __designer:wfdid=\"w14\" UseButtonImage=\"True\" DateFormat=\"" + DataTimeType + "\" DateTimeType=\"DateTime\"></InfoLight:WebDateTimePicker>", "wdtp2" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, FormatStyle); else if (aFieldItem.DataType == typeof(String) && (aFieldItem.ControlType != null && aFieldItem.ControlType.ToUpper() == "DATETIMEBOX")) S4 = String.Format("<InfoLight:WebDateTimePicker id=\"{0}\" runat=\"server\" Width=\"100px\" DateString='<%# Bind(\"{1}\"{2}) %>' __designer:wfdid=\"w14\" UseButtonImage=\"True\" DateFormat=\"" + DataTimeType + "\" DateTimeType=\"Varchar\"></InfoLight:WebDateTimePicker>", "wdtp2" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, FormatStyle); break; case "InsertItemTemplate": ExtraName = "I"; if (aFieldItem.DataType == typeof(DateTime)) S4 = String.Format("<InfoLight:WebDateTimePicker id=\"{0}\" runat=\"server\" Width=\"100px\" Text='<%# Bind(\"{1}\"{2}) %>' __designer:wfdid=\"w14\" UseButtonImage=\"True\" DateFormat=\"" + DataTimeType + "\" DateTimeType=\"DateTime\"></InfoLight:WebDateTimePicker>", "wdtp2" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, FormatStyle); else if (aFieldItem.DataType == typeof(String) && (aFieldItem.ControlType != null && aFieldItem.ControlType.ToUpper() == "DATETIMEBOX")) S4 = String.Format("<InfoLight:WebDateTimePicker id=\"{0}\" runat=\"server\" Width=\"100px\" DateString='<%# Bind(\"{1}\"{2}) %>' __designer:wfdid=\"w14\" UseButtonImage=\"True\" DateFormat=\"" + DataTimeType + "\" DateTimeType=\"Varchar\"></InfoLight:WebDateTimePicker>", "wdtp2" + BlockItem.TableName + aFieldItem.DataField + ExtraName, aFieldItem.DataField, FormatStyle); break; case "ItemTemplate": ExtraName = ""; S4 = String.Format("<asp:Label ID=\"{0}\" runat=\"server\" Text='<%# Bind(\"{1}\"{2}) %>'></asp:Label>", "l2" + aFieldItem.DataField, aFieldItem.DataField, FormatStyle); break; } } lists.Add(S4); } else { String FormatStyle = FormatEditMask(aFieldItem.EditMask); if (tempDefin.Name == "ItemTemplate") { String S3 = String.Format("<asp:Label ID=\"{0}\" runat=\"server\" Text='<%# Bind(\"{1}\"{2}) %>'></asp:Label>", "l2" + aFieldItem.DataField, aFieldItem.DataField, FormatStyle); lists.Add(S3); } else { if (tempDefin.Name == "InsertItemTemplate") { //if (aFieldItem.DefaultValue != null && aFieldItem.DefaultValue != "") //{ FormViewField aViewField = new FormViewField(); aViewField.ControlID = "tb2" + aFieldItem.DataField; aViewField.FieldName = aFieldItem.DataField; WebFormView2.Fields.Add(aViewField); //} } String S4 = String.Format("<asp:TextBox ID=\"{0}\" runat=\"server\" Text='<%# Bind(\"{1}\"{2}) %>' MaxLength=\"{3}\"></asp:TextBox>", "tb2" + aFieldItem.DataField, aFieldItem.DataField, FormatStyle, aFieldItem.Length); lists.Add(S4); } } } } Done = true; j = j * 2; if (m > 0) { builder.Append("<table>"); } foreach (string ctrlText in lists.ToArray()) { if (ctrlText == null || ctrlText.Length == 0) continue; if (m > 0) { if (i % m == 0) { builder.Append("<tr>"); } builder.Append("<td>"); } // add dd string ddText = ""; if (tempDefin.Name != "ItemTemplate") { ddText = GetDDText(ctrlText, BlockItem, tempDefin.Name); } else { ddText = GetDDText(ctrlText, BlockItem, tempDefin.Name); } builder.Append(ddText); builder.Append("\r\n"); if (m > 0) { builder.Append("</td>"); if (i % m == m - 1) { builder.Append("</tr>"); } } i++; } if (m > 0) { if (i % m != 0) { int n = m - (i % m); int q = 0; while (q < n) { builder.Append("<td></td>"); q++; } builder.Append("</tr>"); } builder.Append("</table>"); } tempDefin.Content = builder.ToString(); } } } if (!FWebDefaultList.Contains(aDefault)) FWebDefaultList.Add(aDefault); //FWebValidateList.Add(aValidate); IComponentChangeService FComponentChangeService = (IComponentChangeService)FDesignerHost.RootComponent.Site.GetService(typeof(IComponentChangeService)); NotifyRefresh(200); FComponentChangeService.OnComponentChanged(WebFormView2, null, "", "M"); FComponentChangeService.OnComponentChanged(Detail, null, "", "M"); FComponentChangeService.OnComponentChanged(aValidate, null, "", "M"); #endif }
private void SetFieldNamesByProvider(String TableName, String ProviderName, ListView aListView) { if (ProviderName == null || ProviderName.Trim() == "") return; InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType); aInfoCommand.Connection = InternalConnection; String OWNER = String.Empty, SS = TableName; if (SS.Contains(".")) { OWNER = WzdUtils.GetToken(ref SS, new char[] { '.' }); TableName = SS; } aInfoCommand.CommandText = "Select * from COLDEF where TABLE_NAME='" + TableName + "' OR TABLE_NAME='" + OWNER + "." + TableName + "'"; IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand); DataSet dsColdef = new DataSet(); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, dsColdef, TableName); aListView.Items.Clear(); InfoDataSet aDataSet = new InfoDataSet(); try { aDataSet.SetWizardDesignMode(true); aDataSet.RemoteName = ProviderName; aDataSet.AlwaysClose = true; aDataSet.Active = true; DataTable Table = aDataSet.RealDataSet.Tables[0]; foreach (DataColumn Column in Table.Columns) { ListViewItem aItem = new ListViewItem(Column.ColumnName); DataRow[] DRS = dsColdef.Tables[0].Select("FIELD_NAME='" + Column.ColumnName + "'"); TBlockFieldItem aFieldItem = new TBlockFieldItem(); if (DRS.Length > 0) { aItem.SubItems.Add(DRS[0]["CAPTION"].ToString()); aFieldItem.Description = DRS[0]["CAPTION"].ToString(); aFieldItem.QueryMode = DRS[0]["QUERYMODE"].ToString(); if (DRS[0]["IS_KEY"] != null && DRS[0]["IS_KEY"].ToString() == "Y") aFieldItem.IsKey = true; } else { aItem.SubItems.Add(""); aFieldItem.Description = ""; } aListView.Items.Add(aItem); aFieldItem.DataField = Column.ColumnName; aFieldItem.DataType = Column.DataType; if (DRS.Length > 0 && DRS[0]["CAPTION"] != null) aItem.Tag = aFieldItem; } } finally { aDataSet.Dispose(); } }
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 }