void cRet_TextChanged(object sender, EventArgs e) { foreach (DataGridViewRow dr in dgvFields.SelectedRows) { string strValue = (sender as Control).Text; string filtro = SXManager.FieldValueMember + " = '" + dr.Cells[1].Value + "'"; DataTable dados = new SXManager(sigaSession.EMPRESAS[0].CODIGO) .getFields(this.MAIN.TABLE , filtro , SXManager.FieldDisplayMember); if (dados.DefaultView[0]["X3_TIPO"].ToString() == "N") { dgvFields.Rows[dr.Index].Cells[3].Value = strValue; dgvFields.Rows[dr.Index].Cells[4].Value = getDisplayCombo(strValue); } /*if (dados.DefaultView[0]["X3_TIPO"].ToString() == "D") * { * dgvFields.Rows[dr.Index].Cells[3].Value = "CONVERT(VARCHAR(12),CONVERT(DATETIME,*,103),103)"; * dgvFields.Rows[dr.Index].Cells[4].Value = "DATA"; * } * //*/ dgvFields.Rows[dr.Index].Cells[0].Value = true; // comboGrouping.Rows[0].RowState=DataRowState.Modified; } }
private void btnShowTables_Click(object sender, EventArgs e) { Label strTable = new Label(); //StringBuilder sQuery; DataTable dados = new DataTable(); bool isRelatedTable = this.relatedTables.Count > 0; string filtro = txtFilterTables.Text.Trim(); filtro = (filtro == "filtro") ? "" : filtro; if (isRelatedTable) { dados = new SigaObjects.SXManager(sigaSession.EMPRESAS[0].CODIGO).getRelatedTables(this.RELATEDTABLES, "X2_NOME LIKE '%" + filtro + "%'"); } else { dados = new SXManager(sigaSession.EMPRESAS[0].CODIGO).getTables("X2_NOME LIKE '%" + filtro + "%'"); } Form frm = new Form(); frm.Text = (this.relatedTables.Count > 0) ? "TABELAS RELACIONADAS" : "TODAS AS TABELAS"; frm.Controls.Add(new gridWindow(dados, strTable, "X2_CHAVE")); frm.WindowState = FormWindowState.Maximized; frm.ShowDialog(); strTable.TextChanged += new EventHandler(strTable_TextChanged); }
public void LOAD(List <REPORT.Fields.FieldsVo> checkFields) { this.MAIN.THISTABLE.FIELDS = checkFields; try { if (this.MAIN.TABLE != null) { // POPULA CAMPOS DA TABELA SELECIONADA DataTable dtFields = new SXManager(sigaSession.EMPRESAS[0].CODIGO).getFields(this.MAIN.TABLE); foreach (DataRow drv in dtFields.Rows) { dgvFields.Rows.Add(); REPORT.Fields.FieldsVo field = this.existInFields(checkFields, drv[SXManager.FieldValueMember].ToString()); int indice = dgvFields.Rows.Count - 1; bool isMark = field != null; dgvFields.Rows[indice].Cells[0].Value = isMark; dgvFields.Rows[indice].Cells[1].Value = (string)drv[SXManager.FieldValueMember]; dgvFields.Rows[indice].Cells[2].Value = (string)drv[SXManager.FieldDisplayMember]; dgvFields.Rows[indice].Cells[3].Value = (isMark) ? field.GROUPING : ""; dgvFields.Rows[indice].Cells[4].Value = (isMark) ? getDisplayCombo(field.GROUPING) : ""; } } } catch (Exception e) { new ERROR(Carralero.ExceptionControler.getFullException(e)).SHOW(); } }
private void marcarCampo(int row, int col) { if (dgvFields.Rows[row].Cells[0].Value.ToString() != "True") { DataGridViewRow dgvRow = dgvFields.Rows[row]; REPORT.Fields.FieldsVo field = new REPORT.Fields.FieldsVo(); field.CODIGO = (string)dgvRow.Cells[1].Value; field.GROUPING = (string)dgvRow.Cells[3].Value; field.MAINID = this.MAIN.ID; this.MAIN.THISTABLE.AddField(field); /// Verifica se existe grupo /// se existir verifica o select do campo. string query = this.main.QUERY.ToString(); int haveOrder = query.IndexOf("ORDER BY"); string tab_camp = new SXManager(sigaSession.EMPRESAS[0].CODIGO).getTabela(this.main.TABLE)["X2_ARQUIVO"].ToString() + "." + dgvRow.Cells[1].Value.ToString(); if (haveOrder > 0) { int haveField = query.IndexOf(tab_camp, haveOrder); if (haveField > 0) { this.main.SAVE(); REPORT.OrderBy.OrderByDao orders = new SigaObjects.Reports.OrderBy.OrderByDao(); tab_camp = " valuemember = '" + tab_camp + "'"; orders.delete(this.main.ID, tab_camp); this.main.LOAD(this.main.THISTABLE); MessageBox.Show("A Ordenação com este campo foi excluída."); } } } else { //this.MAIN.THISTABLE.RemoveField( int idx = this.MAIN.THISTABLE.FindField((string)dgvFields.Rows[row].Cells[1].Value); if (idx >= 0) { this.MAIN.THISTABLE.FIELDS.RemoveAt(idx); } } }
public void LOADJOINS(List <string> relatedtables) { DataTable dtRelTable = new SXManager(sigaSession.EMPRESAS[0].CODIGO) //.getParentTables(relatedtables, "SX9.X9_CDOM = '" + this.TABLE + "'"); //.getChildTables( relatedtables, "SX9.X9_CDOM = '" + this.TABLE + "'"); .getComboChildTables(relatedtables, "SX9.X9_DOM = '" + this.TABLE + "'"); //.getRelatedTables(relatedtables, "SX9.X9_CDOM = '" + this.TABLE + "'"); object oIdx = cbRelatedTable.SelectedItem; this.popRelatedtables(dtRelTable); //cbRelatedTable.DataSource = dtRelTable.DefaultView; if (cbRelatedTable.Items.Contains(oIdx)) { cbRelatedTable.SelectedItem = oIdx; } }
public void LOAD() { if (this.MAIN != null) { //cbTables.DataSource = new SXManager(sigaSession.EMPRESAS[0].CODIGO).getTables("X2_CHAVE IN (" + SXManager.getStringArr(this.MAIN.RELATEDTABLES) + ")").DefaultView; cbTables.DataSource = new SXManager(sigaSession.EMPRESAS[0].CODIGO).getTables("X2_CHAVE = '" + this.MAIN.TABLE + "'").DefaultView; REPORT.Filters.FiltersDao filters = new REPORT.Filters.FiltersDao(); dados = filters.select(this.MAIN.ID); dados.Columns.Add("CodTabela"); dados.Columns.Add("CodCampos"); foreach (DataRow linha in dados.Rows) { DataTable dt; string tabela = ""; dt = new SXManager(sigaSession.EMPRESAS[0].CODIGO).getTables("X2_CHAVE = '" + linha["Tabela"].ToString() + "'"); if (dt.DefaultView.Count > 0) { linha["Tabela"] = dt.DefaultView[0][SXManager.TableDisplayMember]; linha["CodTabela"] = dt.DefaultView[0][SXManager.TableValueMember]; tabela = dt.DefaultView[0][SXManager.TableValueMember].ToString(); } if (tabela != "") { dt = new SXManager(sigaSession.EMPRESAS[0].CODIGO).getFields(tabela, "X3_CAMPO = '" + linha["campo"] + "'", "X3_CAMPO"); if (dt.DefaultView.Count > 0) { linha["campo"] = dt.DefaultView[0][SXManager.FieldDisplayMember]; linha["CodCampos"] = dt.DefaultView[0][SXManager.FieldValueMember]; } } } DGFilters.DataSource = dados.DefaultView; DGFilters.Columns["Id"].Visible = false; DGFilters.Columns["mainId"].Visible = false; DGFilters.Columns["CodTabela"].Visible = false; DGFilters.Columns["CodCampos"].Visible = false; DGFilters.AllowUserToDeleteRows = true; } }
/// <summary>Adiciona um item da lista [lbCampos] e remove também do seu respectivo DataTable</summary> /// <param name="sender">Objeto que mandou</param> /// <param name="e">Argumentos de eventos</param> private void btnAdicionar_Click(object sender, EventArgs e) { DataRowView tabela = (cmbTabela.SelectedItem as DataRowView); DataRowView campos = (cmbCampos.SelectedItem as DataRowView); string display = tabela["X2_NOME"].ToString() + " ( " + campos["X3_TITULO"].ToString() + " )" + ((cbDesc.Checked)?" <DESC>":""); string value = new SXManager(sigaSession.EMPRESAS[0].CODIGO).getTabela(tabela["X2_CHAVE"].ToString())["X2_ARQUIVO"].ToString() + "." + campos["X3_CAMPO"].ToString() + ((cbDesc.Checked)?" DESC":""); /// Verifica se existe grupo /// se existir verifica o select do campo. string query = this.main.QUERY.ToString(); int haveGroup = query.IndexOf("GROUP BY"); string tab_camp = new SXManager(sigaSession.EMPRESAS[0].CODIGO).getTabela(tabela["X2_CHAVE"].ToString())["X2_ARQUIVO"].ToString() + "." + campos["X3_CAMPO"].ToString(); int haveField = query.IndexOf(tab_camp); if (haveGroup < 0) { if (haveField < 0) { MessageBox.Show("selecione o campo na aba Campos."); return; } } dados.Rows.Add(new Object[] { 0, //Id (lbCampos.Items.Count - 1), //Indice o mesmo do controle this.MAIN.ID, //Id do controle pai display, //O valor que é mostrado para o cliente value //O valor que para a formação da cláusula orderBy }); lbCampos.DataSource = dados.DefaultView; lbCampos.SelectedIndex = lbCampos.Items.Count - 1; }
private void btnAddTable_Click(object sender, EventArgs e) { Label strTable = new Label(); DataTable dados = new DataTable(); string filtro = txtFiltro.Text.Trim(); filtro = (filtro == "filtro") ? "" : filtro; dados = new SXManager(sigaSession.EMPRESAS[0].CODIGO).getTables("X2_NOME LIKE '%" + filtro + "%'"); Form frm = new Form(); frm.Text = "TODAS AS TABELAS"; frm.Controls.Add(new gridWindow(dados, strTable, "X2_CHAVE")); frm.WindowState = FormWindowState.Maximized; frm.ShowDialog(); strTable.TextChanged += new EventHandler(strTable_TextChanged); }
private void btnAddTable_Click(object sender, EventArgs e) { // listas de controles e objetos para o grid. List <Control> toControls = new List <Control>(); List <object> oCollumnsReturn = new List <object>(); Label strTable = new Label(); Label strIdent = new Label(); DataTable dados = new DataTable(); string filtro = txtFilterTables.Text.Trim(); filtro = (filtro == "filtro") ? "" : filtro; dados = new SXManager(sigaSession.EMPRESAS[0].CODIGO) //.getChildTables(this.RELATEDTABLES, "SX9.X9_DOM = '" + this.TABLE + "' AND X2_NOME LIKE '%"+filtro+"%'"); .getParentTables(getTables(), "X2_NOME LIKE '%" + filtro + "%'"); //.getRelatedTables(this.RELATEDTABLES, "X2_NOME LIKE '%" + filtro + "%'"); // inicializar com dados desejados as listas. toControls.Add(strTable); oCollumnsReturn.Add("X2_CHAVE"); toControls.Add(strIdent); oCollumnsReturn.Add("X9_IDENT"); Form frm = new Form(); frm.Text = (this.relatedTables.Count > 0) ? "TABELAS RELACIONADAS" : "TODAS AS TABELAS"; frm.Controls.Add(new gridWindow(dados , toControls , oCollumnsReturn)); frm.WindowState = FormWindowState.Maximized; frm.ShowDialog(); strTable.TextChanged += new EventHandler(strTable_TextChanged); strIdent.TextChanged += new EventHandler(strIdent_TextChanged); }