/// <summary> /// Faz o lookup e retorna o registro localizado com o dado digitado no campo /// </summary> /// <param name="MostrarLOOK">bool indicando se o form com o conteudo será mostrado.</param> /// <returns></returns> public bool FazerLookUp(bool MostrarLOOK) { bool bRetorno = true; if (!string.IsNullOrEmpty(Propriedades.StringConexao) && !string.IsNullOrEmpty(sSQLStatement)) { if (Propriedades.FormMain != null && Propriedades.FormMain.ActiveMdiChild != null) { FormSet fForm = ((FormSet)Propriedades.FormMain.ActiveMdiChild); if (fForm.FormStatus == TipoFormStatus.Novo || fForm.FormStatus == TipoFormStatus.Modificando) { if (MostrarLOOK || (!MostrarLOOK && !string.IsNullOrEmpty(this.Text))) { frmMostarLookUp f = new frmMostarLookUp(this.SQLStatement, this.Text, this.ReturnColumn); int iTotalReg = f.CriarLookUp_Estrutura(); dtLookup = f.DataTable; switch (iTotalReg) { case 0: bRetorno = false; dtLookUp_Retorno = null; break; case 1: dtLookUp_Retorno = f.RegistroSelecionado; this.Text = f.ValorSelecionado; break; default: if (MostrarLOOK) { if (f.ShowDialog() == DialogResult.OK) { if (!string.IsNullOrEmpty(f.ValorSelecionado)) { this.dtLookUp_Retorno = f.RegistroSelecionado; this.Text = f.ValorSelecionado; } else { bRetorno = false; } } else { bRetorno = false; } } break; } f.Dispose(); } } } } return(bRetorno); }
protected override void OnLoad(EventArgs e) { //-- base.OnLoad(e); f = ((FormSet)compFrameWork.Propriedades.FormMain.ActiveMdiChild); this.grdLista.AutoGenerateColumns = true; this.grdLista.DataSource = f.BindingSource[f.MainTabela].DataSource; DataTable dt = new DataTable("xpto"); dt.Columns.Add("Descricao", typeof(System.String)); dt.Columns.Add("Coluna", typeof(System.String)); foreach (DataGridViewColumn c in this.grdLista.Columns) { DataRow row = dt.NewRow(); row["coluna"] = c.DataPropertyName; c.HeaderText = c.HeaderText.Replace("_", " "); row["descricao"] = c.HeaderText; dt.Rows.Add(row); } this.grdLista.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.DisplayedCells); this.cboColunas.DataSource = dt; this.cboColunas.DisplayMember = "Descricao"; this.cboColunas.ValueMember = "coluna"; }
/// <summary> /// Verifica se o campo existe no ControlSource e preenche o mesmo /// </summary> private void preencheCampoControlSource() { if (!string.IsNullOrEmpty(sTabela)) { //-- Varre todas as colunas da tabela do lookup. FormSet f = Propriedades.FormMain.ActiveMdiChild as FormSet; if (f.FormStatus == TipoFormStatus.Novo || f.FormStatus == TipoFormStatus.Modificando) { foreach (System.Data.DataColumn dc in dtLookup.Columns) { //-- Verifica se a coluna da com o nome do look up existe no grid. if (dc.Caption.ToLower() != sControlSource.ToLower() && f.CurrentRow.Row.Table.Columns.Contains(dc.Caption)) { if (dtLookUp_Retorno != null) { f.CurrentRow[dc.Caption] = dtLookUp_Retorno[dc.Caption]; } else { f.CurrentRow[dc.Caption] = DBNull.Value; } } } f.BindingSource[sTabela].EndEdit(); } } }
private void frmAdvancedSearch_FormClosed(object sender, FormClosedEventArgs e) { FormSet f = ((FormSet)Propriedades.FormMain.ActiveMdiChild); Funcoes func; func.TratarStatus_BarraFerramentas(f.FormStatus, f.Tipo_Formulario); f.Movimentar_Registro(Movimento.Atualizar_Atual); }
/// <summary> /// Valida o campo como obrigatório ou não /// </summary> /// <returns>Valido true/false</returns> public bool ValidarCampos() { Funcoes func; if (bObrigatorio && !string.IsNullOrEmpty(this.ControlSource) && Propriedades.FormMain != null && Propriedades.FormMain.ActiveMdiChild != null && func.Check_Extension(Propriedades.FormMain.ActiveMdiChild.GetType(), typeof(FormSet))) { FormSet f_MdiActivate = ((FormSet)Propriedades.FormMain.ActiveMdiChild); //-- Caso o campo seja para validação execute o HelpProvider. //-- Verifica qual é o modo do formulário, permitindo apenas como Novo ou Modificando. if (f_MdiActivate.FormStatus == TipoFormStatus.Novo || f_MdiActivate.FormStatus == TipoFormStatus.Modificando) { string sValor_Valida = string.Empty; //-- Verifica o registro foi preenchido. if (sTabela.Equals(f_MdiActivate.MainTabela.ToLower())) { if (!this.IsHandleCreated || !this.Parent.IsHandleCreated) { DataRowView row = (DataRowView)f_MdiActivate.BindingSource[sTabela].Current; sValor_Valida = row[sControlSource].ToString(); } else { sValor_Valida = this.Value; } } //-- Verifica se o valor está OK. if (string.IsNullOrEmpty(sValor_Valida)) { ep.SetIconAlignment(this, ErrorIconAlignment.MiddleRight); ep.SetIconPadding(this, -19); ep.SetError(this, sMensagemObrigatorio); return(false); } else { ep.SetError(this, ""); return(true); } } else { ep.SetError(this, ""); return(true); } } else { return(true); } }
private void setWindowToolStripMenuItem_Click(object sender, EventArgs e) { if (MyFormSet.IsDisposed) { FormSet MyFormSet = new FormSet((byte)TopId.FormSet); } MyFormSet.MdiParent = this; MyFormSet.Show(); }
/// <summary> /// Valida o campo como obrigatório ou não /// </summary> /// <returns>Valido true/false</returns> public bool ValidarCampos() { Funcoes func; if (bObrigatorio && !string.IsNullOrEmpty(sControlSource) && Propriedades.FormMain != null && Propriedades.FormMain.ActiveMdiChild != null && func.Check_Extension(Propriedades.FormMain.ActiveMdiChild.GetType(), typeof(FormSet))) { FormSet f_MdiActivate = ((FormSet)Propriedades.FormMain.ActiveMdiChild); //-- Caso o campo seja para validação execute o HelpProvider. //-- Verifica qual é o modo do formulário, permitindo apenas como Novo ou Modificando. if (f_MdiActivate.FormStatus == CompSoft.TipoFormStatus.Novo || f_MdiActivate.FormStatus == CompSoft.TipoFormStatus.Modificando) { string sValor_Combo = string.Empty; //-- Verifica se o controle já existe em memoria, caso exista captura o valor do controle. if (!this.IsHandleCreated) { DataRowView row = (DataRowView)f_MdiActivate.BindingSource[sTabela].Current; sValor_Combo = row[sControlSource].ToString(); } else { if (this.Value != null) { sValor_Combo = this.Value.ToString(); } } if (string.IsNullOrEmpty(sValor_Combo)) { ep.SetIconAlignment(this, ErrorIconAlignment.MiddleRight); ep.SetIconPadding(this, -35); ep.SetError(this, sMensagemObrigatorio); return(false); } else { ep.SetError(this, ""); return(true); } } else { ep.SetError(this, ""); return(true); } } else { return(true); } }
public override void Set_DataMember_DetailReports() { this.Report_DataSet.Tables.Remove("Fluxo"); this.Report_DataSet.Tables.Remove("Mes"); //-- Importa dados. if (Propriedades.FormMain != null && Propriedades.FormMain.ActiveMdiChild != null) { FormSet f = ((FormSet)Propriedades.FormMain.ActiveMdiChild); DataView dv = new DataView(f.DataSetLocal.Tables[this.DataMember], "", "Data", DataViewRowState.CurrentRows); this.Report_DataSet.Tables[this.DataMember].Merge(dv.ToTable(this.DataMember), false, MissingSchemaAction.AddWithKey); dv.Dispose(); } }
/// <summary> /// Atualiza registros recem criados no dataset. /// </summary> /// <param name="fForm">Form ativo</param> /// <param name="sNomeTabela">Nome da tabela que será atualizada.</param> private void Atualizar_ForeignKey_Filha(FormSet fForm, String sNomeTabela) { fForm.BindingSource[sNomeTabela].EndEdit(); DataView dv = new DataView(fForm.DataSetLocal.Tables[sNomeTabela], "", "", DataViewRowState.Added); foreach (DataRowView Row in dv) { foreach (DS_PrimaryKey pk in fForm.PrimaryKeyMain) { Row[pk.PrimaryKey] = pk.ValorPrimaryKey; } } fForm.BindingSource[sNomeTabela].EndEdit(); }
/// <summary> /// Retorna se o controle está associado a uma coluna Identity /// </summary> /// <param name="ctrl">controle já customizado (Class CustonControl)</param> /// <returns>true/false se o controle é Identity</returns> private bool Control_IsIdentity(ref Interfaces.IBaseControl_DB ctrl) { bool bRetono = false; if (Propriedades.FormMain != null && Propriedades.FormMain.ActiveMdiChild != null) { FormSet f = (FormSet)Propriedades.FormMain.ActiveMdiChild; if (ctrl.Tabela == f.MainTabela && !string.IsNullOrEmpty(ctrl.ControlSource)) { DataColumn dc = f.DataSetLocal.Tables[ctrl.Tabela].Columns[ctrl.ControlSource]; bRetono = dc.AutoIncrement; } } return(bRetono); }
/// <summary> /// Valida o campo como obrigatório ou não /// </summary> /// <returns>Valido true/false</returns> public bool ValidarCampos() { Funcoes func; if (bObrigatorio && !string.IsNullOrEmpty(sControlSource) && Propriedades.FormMain != null && Propriedades.FormMain.ActiveMdiChild != null && func.Check_Extension(Propriedades.FormMain.ActiveMdiChild.GetType(), typeof(FormSet))) { FormSet f_MdiActivate = ((FormSet)Propriedades.FormMain.ActiveMdiChild); //-- Caso o campo seja para validação execute o HelpProvider. //-- Verifica qual é o modo do formulário, permitindo apenas como Novo ou Modificando. if (f_MdiActivate.FormStatus == CompSoft.TipoFormStatus.Novo || f_MdiActivate.FormStatus == CompSoft.TipoFormStatus.Modificando) { object oValor_Campo = this.EditValue; if (oValor_Campo == null || oValor_Campo == DBNull.Value) { ep.SetIconAlignment(this, ErrorIconAlignment.MiddleRight); ep.SetIconPadding(this, -33); ep.SetError(this, sMensagemObrigatorio); return(false); } else { ep.SetError(this, ""); return(true); } } else { ep.SetError(this, ""); return(true); } } else { return(true); } }
/// <summary> /// Copia toda a estrutura do dataset do form original /// </summary> private void Copia_DataSet_FormOrigem() { try { this.dt_DataSet.EnforceConstraints = false; FormSet fForm = (FormSet)Propriedades.FormMain.ActiveMdiChild; foreach (DataTable dt in fForm.DataSetLocal.Tables) { this.ADD_Tabela(dt.Copy()); this.dt_DataSet.Tables[dt.TableName].Clear(); } } catch (Exception ex) { fwait.Close(); MsgBox.Show(ex.Message , "ERRO - Copia de dados da origem" , MessageBoxButtons.OK , MessageBoxIcon.Error); } }
private void Relacionar_Tabelas() { FormSet fForm = (FormSet)Propriedades.FormMain.ActiveMdiChild; foreach (DataTable ct in this.dt_DataSet.Tables) { if (this.dt_DataSet.Tables.Count > 1 && ct.TableName.ToLower() != fForm.MainTabela.ToLower()) { //-- Define as colunas DataColumn[] parent = this.dt_DataSet.Tables[fForm.MainTabela].PrimaryKey; DataColumn[] child = new DataColumn[parent.Length]; int i = 0; foreach (DataColumn dc in parent) { child[i] = this.dt_DataSet.Tables[ct.TableName].Columns[dc.Caption]; i++; } //-- Faz o relacionamento try { DataRelation dr = new DataRelation(string.Format("FK_{0}_{1}", fForm.MainTabela, ct.TableName) , parent , child); this.dt_DataSet.Relations.Add(dr); } catch (Exception ex) { fwait.Close(); CompSoft.compFrameWork.MsgBox.Show(ex.Message); } finally { this.dt_DataSet.EnforceConstraints = false; } } } }
/// <summary> /// Seta todos os DataBind do formulário. /// </summary> /// <param name="controle">Nome do controle para o bind</param> /// <param name="fForm">formulário que o controle pertence</param> internal void setarValores_Bind(Control.ControlCollection controle, FormSet fForm) { if (string.IsNullOrEmpty(fForm.MainTabela)) { MsgBox.Show("A propriedade MainTabela do form não foi preenchida." , "Alerta" , MessageBoxButtons.OK , MessageBoxIcon.Error); } else { foreach (Control ctrl in controle) { //-- Caso o controle possua mais controles internos. if (ctrl.Controls.Count > 0 && ctrl.GetType() != typeof(cf_DateEdit)) { //-- Caso seja um container de controles o metodo se chama automaticamente. setarValores_Bind(ctrl.Controls, fForm); } else { if (ctrl.GetType().GetInterface("IBaseControl_DB", true) != null) { Interfaces.IBaseControl_DB cc = (Interfaces.IBaseControl_DB)ctrl; if (!string.IsNullOrEmpty(cc.Tabela) && !string.IsNullOrEmpty(cc.ControlSource)) { //-- Inicia o Bind Binding b; try { //-- Captura todas as colunas da tabela que o controle está vinculado. DataColumn dcc = fForm.DataSetLocal.Tables[cc.Tabela].Columns[cc.ControlSource]; switch (ctrl.GetType().Name) { case "cf_TextBox": b = new Binding("Text", fForm.BindingSource[cc.Tabela], cc.ControlSource); cf_TextBox control_text = (cf_Bases.cf_TextBox)ctrl; switch (control_text.TipoControles) { case CompSoft.TipoControle.Data: b.FormatString = "dd/MM/yyyy"; break; case CompSoft.TipoControle.Hora: b.FormatString = "HH:mm"; break; case CompSoft.TipoControle.Moeda: b.FormatString = "N2"; break; case CompSoft.TipoControle.Numerico: b.FormatString = "N" + control_text.Qtde_Casas_Decimais.ToString(); break; case CompSoft.TipoControle.Indice: b.FormatString = "F5"; break; case CompSoft.TipoControle.Inteiro: b.FormatString = "D"; break; default: b.FormatString = string.Empty; break; } b.FormattingEnabled = true; b.DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged; b.ControlUpdateMode = ControlUpdateMode.OnPropertyChanged; if (control_text.MaxLength == 32767) { //-- Define o tamanho maximo do controle. control_text.MaxLength = this.Captura_MaxCaracter(dcc); } //-- Verifica a obrigatoriedade dos controles if (!cc.Obrigatorio) { if (fForm.MainTabela.ToLower().Equals(cc.Tabela.ToLower())) { cc.Obrigatorio = !dcc.AllowDBNull; } } break; case "cf_MaskedBox": b = new Binding("Text", fForm.BindingSource[cc.Tabela], cc.ControlSource); cf_MaskedBox control_mask = (cf_Bases.cf_MaskedBox)ctrl; b.FormattingEnabled = false; b.DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged; b.ControlUpdateMode = ControlUpdateMode.OnPropertyChanged; if (control_mask.MaxLength == 32767) { //-- Define o tamanho maximo do controle. control_mask.MaxLength = this.Captura_MaxCaracter(dcc); } //-- Verifica a obrigatoriedade dos controles if (!cc.Obrigatorio) { if (fForm.MainTabela.ToLower().Equals(cc.Tabela.ToLower())) { cc.Obrigatorio = !dcc.AllowDBNull; } } break; case "cf_ComboBox": b = new Binding("SelectedValue", fForm.BindingSource[cc.Tabela], cc.ControlSource); b.FormattingEnabled = false; b.DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged; b.ControlUpdateMode = ControlUpdateMode.OnPropertyChanged; ((CompSoft.cf_Bases.cf_ComboBox)ctrl).SelectedIndex = -1; //-- Verifica a obrigatoriedade dos controles if (!cc.Obrigatorio) { if (fForm.MainTabela.ToLower().Equals(cc.Tabela.ToLower())) { cc.Obrigatorio = !dcc.AllowDBNull; } } break; case "cf_CheckBox": b = new Binding("Checked", fForm.BindingSource[cc.Tabela], cc.ControlSource); b.FormattingEnabled = true; b.DataSourceNullValue = false; b.NullValue = false; b.DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged; b.ControlUpdateMode = ControlUpdateMode.OnPropertyChanged; break; case "cf_RadioButton": b = new Binding("Checked", fForm.BindingSource[cc.Tabela], cc.ControlSource); b.FormattingEnabled = true; b.DataSourceNullValue = false; b.NullValue = false; b.DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged; b.ControlUpdateMode = ControlUpdateMode.OnPropertyChanged; break; case "cf_DateEdit": b = new Binding("EditValue", fForm.BindingSource[cc.Tabela], cc.ControlSource); b.FormattingEnabled = true; b.NullValue = null; b.DataSourceNullValue = DBNull.Value; b.DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged; b.ControlUpdateMode = ControlUpdateMode.OnPropertyChanged; //-- Verifica a obrigatoriedade dos controles if (!cc.Obrigatorio) { if (fForm.MainTabela.ToLower().Equals(cc.Tabela.ToLower())) { cc.Obrigatorio = !dcc.AllowDBNull; } } break; default: b = new Binding("Value", fForm.BindingSource[cc.Tabela], cc.ControlSource); b.FormattingEnabled = true; b.DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged; b.ControlUpdateMode = ControlUpdateMode.OnPropertyChanged; b.FormatString = string.Empty; break; } try { ctrl.DataBindings.Add(b); } catch { string sMsg = string.Empty; sMsg += "ERRO AO REALIZAR O BIND:"; sMsg += "\n\r -Controle: " + ctrl.Name; sMsg += "\n\r -DataSource: " + b.DataSource.ToString(); sMsg += "\n\r -Tabela: " + cc.Tabela; sMsg += "\n\r -Coluna: " + cc.ControlSource; MsgBox.Show(sMsg , "Alerta" , MessageBoxButtons.OK , MessageBoxIcon.Error); } } catch (Exception ex) { string sMsg = string.Empty; sMsg += "ERRO AO REALIZAR O BIND:"; sMsg += "\n\r -Controle: " + ctrl.Name; sMsg += "\n\r -Tabela: " + cc.Tabela; sMsg += "\n\r -Coluna: " + cc.ControlSource; sMsg += "\n\r" + ex.Message; MsgBox.Show(sMsg , "Alerta" , MessageBoxButtons.OK , MessageBoxIcon.Error); } } } } } } }
/// <summary> /// Atualiza todas as tabelas com os campos bindados na tela /// </summary> /// <param name="fForm">Formulário que está sendo trabalhado.</param> /// <returns>true/false caso consiga atualizar tudo.</returns> public bool Salvar_Dados(FormSet fForm) { bool bRetorno = false; SqlConnection db = new SqlConnection(Propriedades.StringConexao); try { db.Open(); //-- filtra somente tabelas pai. IList <Controle_Tabelas> iTab = ((List <Controle_Tabelas>) fForm.Tabelas).FindAll( new Predicate <Controle_Tabelas>(delegate(Controle_Tabelas obj) { return(obj.TipoTabela == Controle_Tabelas.TiposTabelas.Pai); })); //-- Loop para atualiza todos os pai foreach (Controle_Tabelas ct in iTab) { SqlCommand cm = new SqlCommand(string.Format("select * from {0}", ct.NomeTabela), db); //-- Monta todas os updates para atualização no banco de dados. SqlDataAdapter da = new SqlDataAdapter(cm); da.RowUpdated += new SqlRowUpdatedEventHandler(OnRowUpdated_Pai); SqlCommandBuilder cb = new SqlCommandBuilder(da); cb.SetAllValues = false; cb.ConflictOption = ConflictOption.OverwriteChanges; fForm.BindingSource[ct.NomeTabela].EndEdit(); da.Update(fForm.DataSetLocal, ct.NomeTabela); } //-- filtra somente tabelas pai. iTab = ((List <Controle_Tabelas>) fForm.Tabelas).FindAll( new Predicate <Controle_Tabelas>(delegate(Controle_Tabelas obj) { return(obj.TipoTabela == Controle_Tabelas.TiposTabelas.Filha); })); //-- Loop para atualiza todos os filhos foreach (Controle_Tabelas ct in iTab) { SqlCommand cm = new SqlCommand(string.Format("select * from {0}", ct.NomeTabela), db); //-- Monta todas os updates para atualização no banco de dados. SqlDataAdapter da = new SqlDataAdapter(cm); da.RowUpdated += new SqlRowUpdatedEventHandler(OnRowUpdated_Filha); //-- Atualiza Foreign key para não ocorrer erro de constraint nas tabelas filhas. Atualizar_ForeignKey_Filha(fForm, ct.NomeTabela); SqlCommandBuilder cb = new SqlCommandBuilder(da); cb.SetAllValues = false; cb.ConflictOption = ConflictOption.OverwriteChanges; fForm.BindingSource[ct.NomeTabela].EndEdit(); da.Update(fForm.DataSetLocal, ct.NomeTabela); } //-- Aceita todas as alterações realizadas. fForm.DataSetLocal.AcceptChanges(); bRetorno = true; } catch (Exception ex) { CompSoft.compFrameWork.MsgBox.Show(string.Format("ERRO AO SALVAR DADOS NA TABELA.\n{0}", ex.Message), "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Error); bRetorno = false; } finally { db.Close(); } return(bRetorno); }
/// <summary> /// Excluir os registros das tabelas filhas e depois os da tabela pai. /// </summary> /// <param name="fForm">Formulário que está sendo trabalhado.</param> /// <returns>true/false caso consiga atualizar tudo.</returns> public bool Excluir_Dados(FormSet fForm) { bool bRetorno = false; SqlConnection db = new SqlConnection(Propriedades.StringConexao); try { db.Open(); //-- filtra somente tabelas pai. IList <Controle_Tabelas> iTab = ((List <Controle_Tabelas>) fForm.Tabelas).FindAll( new Predicate <Controle_Tabelas>(delegate(Controle_Tabelas obj) { return(obj.TipoTabela == Controle_Tabelas.TiposTabelas.Filha); })); //-- Loop para atualiza todos os filhos foreach (Controle_Tabelas ct in iTab) { //-- Monta todas os updates para atualização no banco de dados. SqlDataAdapter da = new SqlDataAdapter(string.Format("select * from {0}", ct.NomeTabela), db); try { SqlCommandBuilder cb = new SqlCommandBuilder(da); cb.ConflictOption = ConflictOption.CompareRowVersion; cb.SetAllValues = false; da.UpdateBatchSize = 100; da.Update(fForm.DataSetLocal, ct.NomeTabela); bRetorno = true; } catch { MsgBox.Show("Não foi possivel excluir registro.", "Alerta - FILHA", MessageBoxButtons.OK, MessageBoxIcon.Error); fForm.DataSetLocal.RejectChanges(); bRetorno = false; goto Erro; } } //-- filtra somente tabelas pai. iTab = ((List <Controle_Tabelas>) fForm.Tabelas).FindAll( new Predicate <Controle_Tabelas>(delegate(Controle_Tabelas obj) { return(obj.TipoTabela == Controle_Tabelas.TiposTabelas.Pai); })); //-- Loop para atualiza todos os pai foreach (Controle_Tabelas ct in iTab) { //-- Monta todas os updates para atualização no banco de dados. SqlDataAdapter da = new SqlDataAdapter(string.Format("select * from {0}", ct.NomeTabela), db); try { SqlCommandBuilder cb = new SqlCommandBuilder(da); cb.ConflictOption = ConflictOption.CompareRowVersion; cb.SetAllValues = false; da.UpdateBatchSize = 100; da.Update(fForm.DataSetLocal, ct.NomeTabela); bRetorno = true; } catch { MsgBox.Show("Não foi possivel excluir registro.", "Alerta - PAI", MessageBoxButtons.OK, MessageBoxIcon.Error); fForm.DataSetLocal.RejectChanges(); fForm.Movimentar_Registro(CompSoft.Movimento.Voltar); bRetorno = false; goto Erro; } } //-- Aceita todas as alterações realizadas. fForm.DataSetLocal.AcceptChanges(); } catch (Exception ex) { MsgBox.Show(string.Format("ERRO AO EXCLUIR DADO REGISTRO DA TABELA.\n{0}", ex.Message), "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Warning); bRetorno = false; } finally { db.Close(); } Erro: return(bRetorno); }
protected void AddFormSet(FormSet formsSet) { _formSets.Add(formsSet.State, formsSet); }
/// <summary> /// Busca os dados para fazer a impressão /// </summary> /// <returns>True/False se encontrou registros ou deu algum erro</returns> private bool Buscar_Dados_Impressao() { bool bRetorno = false; //-- Formulário com todos os dados. FormSet fForm = (FormSet)Propriedades.FormMain.ActiveMdiChild; //---- Busca apenas o cliente selecionado pelo cliente. if (this.Imprimi_Registro_Atual) { foreach (Controle_Tabelas ct in fForm.Tabelas) { if (ct.TipoTabela == Controle_Tabelas.TiposTabelas.Pai) { DataRow row = ((DataRowView)fForm.BindingSource[ct.NomeTabela].Current).Row; this.dt_DataSet.Tables[ct.NomeTabela].ImportRow(row); //-- Evento indicando que a tabela foi carregada para gerar o relatório. if (this.user_AfterImportTable != null) { this.user_AfterImportTable(ct.NomeTabela); } } else { DataTable dt = fForm.DataSetLocal.Tables[ct.NomeTabela].Copy(); this.ADD_Tabela(dt); //-- Evento indicando que a tabela foi carregada para gerar o relatório. if (this.user_AfterImportTable != null) { this.user_AfterImportTable(dt.TableName); } } } bRetorno = true; } //---- Busca todos os registros que foram localizados no sistema pelo usuário else { string sMonta_condicao = string.Empty; //-- Faz a busca tabela por tabela. foreach (Controle_Tabelas ct in fForm.Tabelas) { if (ct.TipoTabela == Controle_Tabelas.TiposTabelas.Pai) { DataTable dt = fForm.DataSetLocal.Tables[ct.NomeTabela].Copy(); this.ADD_Tabela(dt); //-- Evento indicando que a tabela foi carregada para gerar o relatório. if (this.user_AfterImportTable != null) { this.user_AfterImportTable(dt.TableName); } //-- Monta as condições de busca. DataRow[] fRow = this.dt_DataSet.Tables[fForm.MainTabela].Select(); sMonta_condicao = Monta_Condicao_AllRecords(fRow); } else { if (!string.IsNullOrEmpty(sMonta_condicao)) { //-- Monta condições de busca e adicona DT no DataSet string sWhere = sMonta_condicao.ToLower().Replace("%tabela%", ct.NomeTabela); int iContemWhere = ct.SQLStatement.ToLower().IndexOf("where") + 5; string sCondicao1 = string.Empty, sCondicao2 = string.Empty; if (ct.SQLStatement.ToLower().IndexOf("where") > 0) { sCondicao1 = ct.SQLStatement.Substring(0, iContemWhere); sCondicao2 = ct.SQLStatement.Substring(iContemWhere, (ct.SQLStatement.Length - iContemWhere)); sCondicao1 += "(" + sWhere + ") AND " + sCondicao2; } else { sCondicao1 = ct.SQLStatement + " where " + sWhere; } DataTable dt = SQL.Select(sCondicao1, ct.NomeTabela, false); if (dt != null) { this.ADD_Tabela(dt); } //-- Evento indicando que a tabela foi carregada para gerar o relatório. if (this.user_AfterImportTable != null) { this.user_AfterImportTable(dt.TableName); } } } } bRetorno = true; } return(bRetorno); }
/// <summary> /// Atualiza todos os estados da barra de ferramentos. /// </summary> internal void TratarStatus_BarraFerramentas(CompSoft.TipoFormStatus TpFormStatus, CompSoft.TipoForm TpForm) { if (Propriedades.FormMain != null) { //-- Atualiza os botões da barra de tarefas do main. switch (TpFormStatus) { case CompSoft.TipoFormStatus.Nenhum: Propriedades.FormMain.cmdToolPrimeiro.Enabled = false; Propriedades.FormMain.cmdToolAnterior.Enabled = false; Propriedades.FormMain.cmdToolProximo.Enabled = false; Propriedades.FormMain.cmdToolUltimo.Enabled = false; Propriedades.FormMain.cmdToolNovo.Enabled = false; Propriedades.FormMain.cmdToolAlterar.Enabled = false; Propriedades.FormMain.cmdToolExcluir.Enabled = false; Propriedades.FormMain.cmdToolSalvar.Enabled = false; Propriedades.FormMain.cmdToolPesquisar.Enabled = false; Propriedades.FormMain.cmdToolLimpartela.Enabled = false; Propriedades.FormMain.cmdToolCancelarAlteracoes.Enabled = false; Propriedades.FormMain.cmdToolAtualizar.Enabled = false; Propriedades.FormMain.cmdToolLookUp.Enabled = false; Propriedades.FormMain.cmdToolImpressao.Enabled = false; break; case CompSoft.TipoFormStatus.Novo: Propriedades.FormMain.cmdToolPrimeiro.Enabled = false; Propriedades.FormMain.cmdToolAnterior.Enabled = false; Propriedades.FormMain.cmdToolProximo.Enabled = false; Propriedades.FormMain.cmdToolUltimo.Enabled = false; Propriedades.FormMain.cmdToolNovo.Enabled = false; Propriedades.FormMain.cmdToolAlterar.Enabled = false; Propriedades.FormMain.cmdToolExcluir.Enabled = false; Propriedades.FormMain.cmdToolSalvar.Enabled = true; Propriedades.FormMain.cmdToolPesquisar.Enabled = false; Propriedades.FormMain.cmdToolLimpartela.Enabled = true; Propriedades.FormMain.cmdToolCancelarAlteracoes.Enabled = true; Propriedades.FormMain.cmdToolAtualizar.Enabled = false; Propriedades.FormMain.cmdToolLookUp.Enabled = false; Propriedades.FormMain.cmdToolImpressao.Enabled = false; break; case CompSoft.TipoFormStatus.Limpar: Propriedades.FormMain.cmdToolPrimeiro.Enabled = false; Propriedades.FormMain.cmdToolAnterior.Enabled = false; Propriedades.FormMain.cmdToolProximo.Enabled = false; Propriedades.FormMain.cmdToolUltimo.Enabled = false; Propriedades.FormMain.cmdToolLimpartela.Enabled = true; Propriedades.FormMain.cmdToolPesquisar.Enabled = true; Propriedades.FormMain.cmdToolAtualizar.Enabled = false; Propriedades.FormMain.cmdToolLookUp.Enabled = false; Propriedades.FormMain.cmdToolImpressao.Enabled = false; if (TpForm == CompSoft.TipoForm.Geral) { Propriedades.FormMain.cmdToolNovo.Enabled = true; Propriedades.FormMain.cmdToolAlterar.Enabled = false; Propriedades.FormMain.cmdToolExcluir.Enabled = false; Propriedades.FormMain.cmdToolSalvar.Enabled = false; Propriedades.FormMain.cmdToolCancelarAlteracoes.Enabled = false; } else { Propriedades.FormMain.cmdToolNovo.Enabled = false; Propriedades.FormMain.cmdToolAlterar.Enabled = false; Propriedades.FormMain.cmdToolExcluir.Enabled = false; Propriedades.FormMain.cmdToolSalvar.Enabled = false; Propriedades.FormMain.cmdToolCancelarAlteracoes.Enabled = false; } break; case CompSoft.TipoFormStatus.Pesquisar: Propriedades.FormMain.cmdToolPrimeiro.Enabled = true; Propriedades.FormMain.cmdToolAnterior.Enabled = true; Propriedades.FormMain.cmdToolProximo.Enabled = true; Propriedades.FormMain.cmdToolUltimo.Enabled = true; Propriedades.FormMain.cmdToolPesquisar.Enabled = false; Propriedades.FormMain.cmdToolLimpartela.Enabled = true; Propriedades.FormMain.cmdToolAtualizar.Enabled = true; Propriedades.FormMain.cmdToolLookUp.Enabled = true; Propriedades.FormMain.cmdToolImpressao.Enabled = true; if (TpForm == CompSoft.TipoForm.Geral) { Propriedades.FormMain.cmdToolNovo.Enabled = true; Propriedades.FormMain.cmdToolAlterar.Enabled = true; Propriedades.FormMain.cmdToolExcluir.Enabled = true; Propriedades.FormMain.cmdToolSalvar.Enabled = false; Propriedades.FormMain.cmdToolCancelarAlteracoes.Enabled = false; } else { Propriedades.FormMain.cmdToolNovo.Enabled = false; Propriedades.FormMain.cmdToolAlterar.Enabled = false; Propriedades.FormMain.cmdToolExcluir.Enabled = false; Propriedades.FormMain.cmdToolSalvar.Enabled = false; Propriedades.FormMain.cmdToolCancelarAlteracoes.Enabled = false; } break; case CompSoft.TipoFormStatus.Modificando: Propriedades.FormMain.cmdToolPrimeiro.Enabled = false; Propriedades.FormMain.cmdToolAnterior.Enabled = false; Propriedades.FormMain.cmdToolProximo.Enabled = false; Propriedades.FormMain.cmdToolUltimo.Enabled = false; Propriedades.FormMain.cmdToolNovo.Enabled = false; Propriedades.FormMain.cmdToolAlterar.Enabled = false; Propriedades.FormMain.cmdToolExcluir.Enabled = false; Propriedades.FormMain.cmdToolSalvar.Enabled = true; Propriedades.FormMain.cmdToolPesquisar.Enabled = false; Propriedades.FormMain.cmdToolLimpartela.Enabled = false; Propriedades.FormMain.cmdToolCancelarAlteracoes.Enabled = true; Propriedades.FormMain.cmdToolAtualizar.Enabled = false; Propriedades.FormMain.cmdToolLookUp.Enabled = false; Propriedades.FormMain.cmdToolImpressao.Enabled = false; break; } if (Propriedades.FormMain.ActiveMdiChild != null && this.Check_Extension(Propriedades.FormMain.ActiveMdiChild.GetType(), typeof(FormSet))) { //-- Verifica se a barra de ferramentas sofrerá alterações. FormSet f = ((FormSet)Propriedades.FormMain.ActiveMdiChild); if (!f.Barra_Ferramentas_Novo_Registro) { Propriedades.FormMain.cmdToolNovo.Enabled = false; } if (!f.Barra_Ferramentas_Editar_Registro) { Propriedades.FormMain.cmdToolAlterar.Enabled = false; } if (!f.Barra_Ferramentas_Excluir_Registro) { Propriedades.FormMain.cmdToolExcluir.Enabled = false; } if (!f.Barra_Ferramentas_Limpar_Tela) { Propriedades.FormMain.cmdToolLimpartela.Enabled = false; } if (!f.Barra_Ferramentas_Pesquisar_Registro) { Propriedades.FormMain.cmdToolPesquisar.Enabled = false; } if (!f.Barra_Ferramentas_Relatorios) { Propriedades.FormMain.cmdToolImpressao.Enabled = false; } } } }
/// <summary> /// Faz o lookup e retorna o registro localizado com o dado digitado no campo /// </summary> public bool FazerLookUp(bool MostrarLOOK) { bool bRetorno = true; if (this.LookUp && !string.IsNullOrEmpty(sSQLStatement)) { if (Propriedades.FormMain != null && Propriedades.FormMain.ActiveMdiChild != null) { FormSet fForm = ((FormSet)Propriedades.FormMain.ActiveMdiChild); if (fForm.FormStatus == TipoFormStatus.Novo || fForm.FormStatus == TipoFormStatus.Modificando || fForm.FormStatus == TipoFormStatus.Limpar) { if (MostrarLOOK || (!MostrarLOOK && !string.IsNullOrEmpty(this.Text))) { frmMostarLookUp f = new frmMostarLookUp(this.SQLStatement, this.Text, iColunaLookUp); int iTotalReg = f.CriarLookUp_Estrutura(); dtLookup = f.DataTable; //-- tabela com o resultado da pesquisa. switch (iTotalReg) { case 0: bRetorno = false; dtLookUp_Retorno = null; break; case 1: dtLookUp_Retorno = f.RegistroSelecionado; this.Text = f.ValorSelecionado; break; default: if (MostrarLOOK) { if (f.ShowDialog() == DialogResult.OK) { if (!string.IsNullOrEmpty(f.ValorSelecionado)) { dtLookUp_Retorno = f.RegistroSelecionado; this.Text = f.ValorSelecionado; preencheCampoControlSource(); } else { bRetorno = false; } } else { bRetorno = false; } } break; } f.Dispose(); } } } } return(bRetorno); }
protected override void OnDataSourceChanged(EventArgs e) { if (bSource == null) { Funcoes func; if (func.Check_Extension(Propriedades.FormMain.ActiveMdiChild.GetType(), typeof(FormSet))) { f = (FormSet)Propriedades.FormMain.ActiveMdiChild; } //-- Seta os parametros visuais do grid. this.Parametros_Visuais(); if (this.DataSource.GetType() == typeof(DataTable) || this.DataSource.GetType() == typeof(DataView)) { switch (this.DataSource.GetType().Name) { case "DataTable": sTabela_Grid = ((DataTable)this.DataSource).TableName.ToLower(); break; case "DataView": sTabela_Grid = ((DataView)this.DataSource).Table.TableName.ToLower(); break; } bSource = f.BindingSource[sTabela_Grid]; base.DataSource = bSource; } else if (this.DataSource.GetType() == typeof(BindingSource)) { bSource = this.DataSource as BindingSource; } base.OnDataSourceChanged(e); //-- Caso a auto geração de colunas estiver ativo //-- O sistema deverá retirar o _ das palavras. DataTable dt = ((DataTable)bSource.DataSource); foreach (DataGridViewColumn column in this.Columns) { if (this.AutoGenerateColumns) { column.HeaderText = column.HeaderText.Replace("_", " "); } else { if (column.GetType() == typeof(DataGridViewTextBoxColumn)) { DataGridViewTextBoxColumn cc = column as DataGridViewTextBoxColumn; CompSoft.Data.ManipulaRegistros mr = new CompSoft.Data.ManipulaRegistros(); cc.MaxInputLength = mr.Captura_MaxCaracter(dt.Columns[column.DataPropertyName]); } if (column.GetType() == typeof(DataGridViewCheckBoxColumn)) { DataGridViewCheckBoxColumn cc = column as DataGridViewCheckBoxColumn; cc.FalseValue = false; cc.IndeterminateValue = false; cc.TrueValue = true; } } } } else { base.DataSource = bSource; } }