public void CargarGrillaSecundaria()
        {
            try
            {
                clavePrimaria  = _vista.grillaPrimaria.SelectedCells[0].Value.ToString();
                _filtroCampos  = "";
                _filtroValores = "";
                _Campo         = "";
                string[]  columnas = _camposSecundarios.Split('&');
                DataTable dt       = new DataTable();
                DetallesColumnasTablasBus     oDetalleBus = new DetallesColumnasTablasBus();
                List <DetallesColumnasTablas> list        = oDetalleBus.DetallesColumnasTablasGetByCodigo(tablaSecundaria);
                foreach (DetallesColumnasTablas oDetalle in list)
                {
                    foreach (string a in columnas)
                    {
                        if (oDetalle.DctColumna == a)
                        {
                            _Campo = _Campo + ' ' + oDetalle.DctColumna + ' ' + oDetalle.DctDescripcion + ',';
                            dt.Columns.Add(oDetalle.DctDescripcion);
                            if ((oDetalle.DctFiltroBusqueda == "S") && (oDetalle.DctTipoControl != "FECHA") && oDetalle.DctTipoControl != "ESTADO")
                            {
                                //    _dtCombo.Rows.Add(oDetalle.DctColumna, oDetalle.DctDescripcion);
                            }
                        }
                    }
                }
                if (_Campo.Length > 0)
                {
                    _Campo = _Campo.Substring(0, _Campo.Length - 1);
                }
                //SE CARGA EL COMBO DE BUSQUEDA

                /*   oUtil.CargarCombo(_vista.comboBuscar, _dtCombo, "DctColumna", "DctDescripcion");
                 * if (_Campo.Length > 0)
                 *     _Campo = _Campo.Substring(0, _Campo.Length - 1);
                 */
                TablasBus oTablasBus = new TablasBus();
                Tablas    oTabla     = oTablasBus.TablasGetById(tablaSecundaria);
                string    codigo1    = _camposPrimarios.Split('&')[0];
                string    codigo2    = _camposSecundarios.Split('&')[0];
                switch (tablaNexo)
                {
                case "FUNCIONALIDADES_ROLES":
                {
                    FuncionalidadesRolesBus     oFuncionalidadesRol = new FuncionalidadesRolesBus();
                    List <FuncionalidadesRoles> listaRF             = oFuncionalidadesRol.FuncionalidadesGetById(clavePrimaria);
                    FuncionalidadesBus          oFunBus             = new FuncionalidadesBus();
                    Funcionalidades             oFuncionalidades    = new Funcionalidades();

                    foreach (FuncionalidadesRoles a in listaRF)
                    {
                        oFuncionalidades = oFunBus.FuncionalidadesGetById(a.FunCodigo);
                        cargarDT(dt, oFuncionalidades);
                        //dt.Rows.Add(oFuncionalidades.FunCodigo, oFuncionalidades.FunDescripcion, oFuncionalidades.FunFuncionalidad, oFuncionalidades.ffoCodigo);
                    }
                    break;
                }

                case "FUNCIONALIDADES_USUARIOS":
                {
                    FuncionalidadesUsuariosBus     oFuncionalidadesUsr = new FuncionalidadesUsuariosBus();
                    List <FuncionalidadesUsuarios> listaUF             = oFuncionalidadesUsr.FuncionalidadesUsuariosGetById(clavePrimaria);
                    FuncionalidadesBus             oFunBus             = new FuncionalidadesBus();
                    Funcionalidades oFuncionalidades = new Funcionalidades();

                    foreach (FuncionalidadesUsuarios a in listaUF)
                    {
                        oFuncionalidades = oFunBus.FuncionalidadesGetById(a.FunCodigo);
                        cargarDT(dt, oFuncionalidades);
                        //dt.Rows.Add(oFuncionalidades.FunCodigo, oFuncionalidades.FunDescripcion, oFuncionalidades.FunFuncionalidad, oFuncionalidades.ffoCodigo);
                    }
                    break;
                }
                }
                _vista.cantidadSecundaria = "Se encontraron: " + oUtil.CargarGrilla(_vista.grillaSecundaria, dt) + " registros";
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        public void Guardar()
        {
            try
            {
                switch (tablaNexo)
                {
                case "FUNCIONALIDADES_ROLES":
                {
                    FuncionalidadesRolesBus     oRolFunBus       = new FuncionalidadesRolesBus();
                    List <FuncionalidadesRoles> listaRF          = new List <FuncionalidadesRoles>();
                    FuncionalidadesBus          oFunBus          = new FuncionalidadesBus();
                    Funcionalidades             oFuncionalidades = new Funcionalidades();
                    FuncionalidadesRoles        oRF;

                    listaRF = oRolFunBus.FuncionalidadesGetById(clavePrimaria);

                    foreach (FuncionalidadesRoles b in listaRF)
                    {
                        oRolFunBus.FuncionalidadesDelete(b.RolCodigo);
                    }
                    int cantidad = 0;
                    foreach (DataGridViewRow a in _vista.grillaSecundaria.Rows)
                    {
                        oRF           = new FuncionalidadesRoles();
                        oRF.RolCodigo = clavePrimaria;

                        oRF.FunCodigo = ((DataGridViewTextBoxCell)a.Cells[0]).FormattedValue.ToString();
                        oRolFunBus.FuncionalidadesAdd(oRF);
                        cantidad++;
                    }
                    MessageBox.Show("Se agregaron " + cantidad + " de registros exitosamente");
                    break;
                }

                case "FUNCIONALIDADES_USUARIOS":
                {
                    FuncionalidadesUsuariosBus     oUsuariosFun = new FuncionalidadesUsuariosBus();
                    List <FuncionalidadesUsuarios> listaUF      = new List <FuncionalidadesUsuarios>();

                    FuncionalidadesBus      oFunBus          = new FuncionalidadesBus();
                    Funcionalidades         oFuncionalidades = new Funcionalidades();
                    FuncionalidadesUsuarios oUF;

                    listaUF = oUsuariosFun.FuncionalidadesUsuariosGetById(clavePrimaria);


                    foreach (FuncionalidadesUsuarios b in listaUF)
                    {
                        oUsuariosFun.FuncionalidadesUsuariosDelete(b.FunCodigo, b.UsrNumero, b.RolCodigo);
                    }
                    int cantidad = 0;
                    foreach (DataGridViewRow a in _vista.grillaSecundaria.Rows)
                    {
                        oUF           = new FuncionalidadesUsuarios();
                        oUF.UsrNumero = int.Parse(clavePrimaria);

                        oUF.FunCodigo = ((DataGridViewTextBoxCell)a.Cells[0]).FormattedValue.ToString();
                        oUsuariosFun.FuncionalidadesUsuariosAdd(oUF);
                        cantidad++;
                    }
                    MessageBox.Show("Se agregaron " + cantidad + " de registros exitosamente");
                    break;
                }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Algunos registros no se pudiergon guardar, esto se suele dar por ya estar incluidos. Para mas informacion el codigo de error es:" + ex.Message);
            }
        }