private void BuildKeyDialog_Load(object sender, EventArgs e) { if (SelectedDataSource != null) { if (SelectedDataSource is IDbDriver) { IDbDriver db = SelectedDataSource as IDbDriver; //--EI-114 // relatedFields = db.GetTableColumnNames(RelatedTable); if (RelatedTable.Contains(StringLiterals.SPACE)) { string pstr = "Select TOP 2 * from [" + RelatedTable + "]"; DataTable relfields = DBReadExecute.GetDataTable(db, pstr); foreach (DataColumn dc in relfields.Columns) { relatedFields.Add(dc.ColumnName); } } else { relatedFields = db.GetTableColumnNames(RelatedTable); } //--- } else if (SelectedDataSource is Project) { Project project = SelectedDataSource as Project; if (project.Views.Exists(relatedTable)) { foreach (Epi.Fields.IField field in project.Views[RelatedTable].Fields) { if (!(field is Epi.Fields.LabelField) & !(field is Epi.Fields.CommandButtonField) & !(field is Epi.Fields.PhoneNumberField)//EI-705 & !(field is Epi.Fields.MultilineTextField) & !(field is Epi.Fields.GroupField) & !(field is Epi.Fields.CheckBoxField) & !(field is Epi.Fields.ImageField) & !(field is Epi.Fields.OptionField) & !(field is Epi.Fields.GridField) & !(field is Epi.Fields.MirrorField)) { relatedFields.Add(field.Name); } } } else { relatedFields = project.GetTableColumnNames(RelatedTable); } } if (this.EpiInterpreter.Context.DataSet != null) { View CurrentView = null; bool currentReadIdentifierIsView = false; if (this.EpiInterpreter.Context.CurrentProject != null) { currentReadIdentifierIsView = this.EpiInterpreter.Context.CurrentProject.IsView(this.EpiInterpreter.Context.CurrentRead.Identifier); } if (currentReadIdentifierIsView) { CurrentView = this.EpiInterpreter.Context.CurrentProject.GetViewByName(this.EpiInterpreter.Context.CurrentRead.Identifier); //EI-705 foreach (DataColumn column in this.EpiInterpreter.Context.DataSet.Tables["Output"].Columns) { if ((CurrentView.Fields.Exists(column.ColumnName) && !(CurrentView.Fields[column.ColumnName] is Epi.Fields.LabelField)) & (CurrentView.Fields.Exists(column.ColumnName) && !(CurrentView.Fields[column.ColumnName] is Epi.Fields.CommandButtonField)) & (CurrentView.Fields.Exists(column.ColumnName) && !(CurrentView.Fields[column.ColumnName] is Epi.Fields.PhoneNumberField)) & (CurrentView.Fields.Exists(column.ColumnName) && !(CurrentView.Fields[column.ColumnName] is Epi.Fields.MultilineTextField)) & (CurrentView.Fields.Exists(column.ColumnName) && !(CurrentView.Fields[column.ColumnName] is Epi.Fields.GroupField)) & (CurrentView.Fields.Exists(column.ColumnName) && !(CurrentView.Fields[column.ColumnName] is Epi.Fields.CheckBoxField)) & (CurrentView.Fields.Exists(column.ColumnName) && !(CurrentView.Fields[column.ColumnName] is Epi.Fields.ImageField)) & (CurrentView.Fields.Exists(column.ColumnName) && !(CurrentView.Fields[column.ColumnName] is Epi.Fields.OptionField)) & (CurrentView.Fields.Exists(column.ColumnName) && !(CurrentView.Fields[column.ColumnName] is Epi.Fields.GridField)) & (CurrentView.Fields.Exists(column.ColumnName) && !(CurrentView.Fields[column.ColumnName] is Epi.Fields.MirrorField))) { currentFields.Add(column.ColumnName); } } } else { foreach (DataColumn column in this.EpiInterpreter.Context.DataSet.Tables["Output"].Columns) { currentFields.Add(column.ColumnName); } } } currentFields.Sort(); } //rdbCurrentTable.Checked = true; relatedFields.Sort(); currentFields.Sort(); //cmbAvailableVariables2.DataSource = relatedFields; lbxRelatedTableFields.DataSource = relatedFields; //cmbAvailableVariables.DataSource = currentFields; lbxCurrentTableFields.DataSource = currentFields; lbxCurrentTableFields.SelectedIndex = -1; lbxRelatedTableFields.SelectedIndex = -1; if (CallingDialog == "RELATE") { lblBuildKeyInstructions.Text = SharedStrings.BUILDKEY_RELATE_INSTRUCTIONS; } else { lblBuildKeyInstructions.Text = SharedStrings.BUILDKEY_MERGE_INSTRUCTIONS; } this.LoadIsFinished = true; }
private void BuildKeyDialog_Load(object sender, EventArgs e) { if (SelectedDataSource != null) { if (SelectedDataSource is IDbDriver) { IDbDriver db = SelectedDataSource as IDbDriver; //--EI-114 // relatedFields = db.GetTableColumnNames(RelatedTable); if (RelatedTable.Contains(StringLiterals.SPACE)) { string pstr = "Select TOP 2 * from [" + RelatedTable + "]"; DataTable relfields = DBReadExecute.GetDataTable(db, pstr); foreach (DataColumn dc in relfields.Columns) { relatedFields.Add(dc.ColumnName); } } else { relatedFields = db.GetTableColumnNames(RelatedTable); } //--- } else if (SelectedDataSource is Project) { Project project = SelectedDataSource as Project; if (project.Views.Exists(relatedTable)) { foreach (Epi.Fields.IField field in project.Views[RelatedTable].Fields) { if (!(field is Epi.Fields.LabelField) & !(field is Epi.Fields.CommandButtonField) & !(field is Epi.Fields.PhoneNumberField) & !(field is Epi.Fields.MultilineTextField) & !(field is Epi.Fields.GroupField) & !(field is Epi.Fields.CheckBoxField) & !(field is Epi.Fields.ImageField) & !(field is Epi.Fields.OptionField) & !(field is Epi.Fields.GridField) & !(field is Epi.Fields.MirrorField)) { relatedFields.Add(field.Name); } } } else { relatedFields = project.GetTableColumnNames(RelatedTable); } } currentFields = GetCurrentFields(); } relatedFields.Sort(); currentFields.Sort(); lbxRelatedTableFields.DataSource = relatedFields; lbxCurrentTableFields.DataSource = currentFields; lbxCurrentTableFields.SelectedIndex = -1; lbxRelatedTableFields.SelectedIndex = -1; if (CallingDialog == "RELATE") { lblBuildKeyInstructions.Text = SharedStrings.BUILDKEY_RELATE_INSTRUCTIONS; } else { lblBuildKeyInstructions.Text = SharedStrings.BUILDKEY_MERGE_INSTRUCTIONS; } this.LoadIsFinished = true; }