Пример #1
0
        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;
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
        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();
            }
        }
Пример #4
0
        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);
                }
            }
        }
Пример #5
0
        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;
            }
        }
Пример #6
0
        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;
            }
        }
Пример #7
0
        /// <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;
        }
Пример #8
0
        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);
        }
Пример #9
0
        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);
        }