protected void gvwClientes_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            //presiona BOTON MODIFICAR EN GRILLA
            if (e.CommandName == "SeleccionaCliente")
            {
                int linCliCodigo;
                linCliCodigo = Convert.ToInt32(e.CommandArgument);

                AgregarVariableSession("cliCodigo", linCliCodigo);

                DataRow drCliente;
                CCliente objCliente = new CCliente();
                drCliente = objCliente.fnDatosCliente(linCliCodigo);
                if (drCliente != null)
                {
                    txtCodigo.Text = linCliCodigo.ToString();
                    txtNombres.Text = drCliente["cliNombre"].ToString();
                    txtRepresentante.Text = drCliente["CliRepresen"].ToString();
                    txtFecRegistro.Text = drCliente["CliFecRegis"].ToString();
                    txtDireccion.Text = drCliente["cliDireccion"].ToString();
                    txtTelefono.Text = drCliente["cliTelefono"].ToString();
                    txtDocumento.Text = drCliente["CliNumDoc"].ToString();
                    chkActivo.Checked = Convert.ToBoolean(  drCliente["CliEstado"]);

                    LlenarListas();

                    ListItem liElegido = ddlTipoPersona.Items.FindByValue(drCliente["CliTipoPer"].ToString().Trim());
                    ddlTipoPersona.SelectedIndex = ddlTipoPersona.Items.IndexOf(liElegido);

                    ListItem liElegido2 = ddlTipoDoc.Items.FindByValue(drCliente["CliTipoDoc"].ToString().Trim());
                    ddlTipoDoc.SelectedIndex = ddlTipoDoc.Items.IndexOf(liElegido2);

                    //MODIFICAR , se guarda en variable cache
                    AgregarVariableSession("operacion", 2);
                    pnlEditClientes.Visible = true;
                    pnlClientes.Visible = false;
                    pnlBusqueda.Visible = false;
                    lblMensajes.Visible = false;

                    MostrarOcultar();
                }
            }
            //presiona BOTON ELIMINAR EN GRILLA
            if (e.CommandName == "EliminaCliente")
            {
                int linCliCodigo;
                linCliCodigo = Convert.ToInt32(e.CommandArgument);

                EventoEliminar(linCliCodigo);

            }
        }
        private void EventoGuardar()
        {
            int nResp;
            int linOperacion = (int)LeerVariableSesion("operacion");

            int linCliCodigo = 0;
            if (LeerVariableSesion("cliCodigo") != null)
                linCliCodigo = (int)LeerVariableSesion("cliCodigo");

            CCliente oCliente = new CCliente();
            oCliente.CliCod = linCliCodigo;
            oCliente.CliTipoDoc = ddlTipoDoc.SelectedItem.Value;
            oCliente.CliTipoPer = ddlTipoPersona.SelectedItem.Value;
            oCliente.CliNombres = txtNombres.Text.ToUpper();
            oCliente.CliNumDoc = txtDocumento.Text.ToUpper();
            oCliente.CliRepresen = txtRepresentante.Text.ToUpper();
            oCliente.CliDireccion = txtDireccion.Text.ToUpper();
            oCliente.CliTelefono = txtTelefono.Text;
            oCliente.CliFecRegis = Convert.ToDateTime(txtFecRegistro.Text);

            if (linOperacion == 1)        //NUEVO
            {
                nResp = oCliente.fnClienteInsert();
            }
            else                        // MODIFICAR
                nResp = oCliente.fnClienteUpdate();

            if (nResp <= 0)
            {
                lblMensajes.Visible = true;
                lblMensajes.Text = oCliente.DescripcionError;
                this.MessageBox(oCliente.DescripcionError);
            }
            else
            {
                lblMensajes.Visible = true;
                lblMensajes.Text = "El registro se Grabo Satisfactoriamente.";
                pnlEditClientes.Visible = false;
                pnlClientes.Visible = true;
                pnlBusqueda.Visible = true;
                this.MessageBox("El registro se Grabo Satisfactoriamente.");

                //nuevo
                if (linOperacion == 1)
                {
                    EventoActualizaGrilla();
                }
                else   //modificar
                {
                    string sBuscado = this.LeerVariableSesion("sBuscado").ToString();
                    EventoBuscarClientes(sBuscado);
                }

            }
        }
        private void EventoEliminar(int cliCodigo)
        {
            CCliente oCliente = new CCliente();
            int nResp = oCliente.fnClienteDelete(cliCodigo);
            if (nResp <= 0)
            {
                lblMensajes.Visible = true;
                lblMensajes.Text = oCliente.DescripcionError;
                this.MessageBox(oCliente.DescripcionError);
            }
            else
            {
                lblMensajes.Visible = true;
                lblMensajes.Text = "El registro se Eliminó Satisfactoriamente.";
                this.MessageBox("El registro se Eliminó Satisfactoriamente.");

                EventoActualizaGrilla();
            }
        }
        private void EventoBuscarClientes(string pBuscado)
        {
            //string sBuscado = txtBusqueda.Text.ToUpper();
            string sCadenaFiltro = "cliNombre like '%" + pBuscado + "%'";
            //DataTable con todos los clientes
            CCliente objCliente = new CCliente();

            DataTable dtClientes = (DataTable) objCliente.fnListaClientes();
            DataTable dtResultado;
            //DataTable con los clientes ya filtrados
            DataView oDataView = new DataView(dtClientes);
            oDataView.RowFilter = sCadenaFiltro;
            dtResultado = oDataView.ToTable();

            if (dtResultado.Rows.Count > 0)
            {
                gvwClientes.DataSource = dtResultado;
                gvwClientes.DataBind();
            }
            else
            {
                lblMensajes.Text = "No existen registros";
                lblMensajes.Visible = true;
                this.MessageBox("No existen registros");

            }
        }
 private void EventoActualizaGrilla()
 {
     CCliente oCliente = new CCliente();
     gvwClientes.DataSource = (DataTable) oCliente.fnListaClientes();
     gvwClientes.DataBind();
 }
 private void EventoActualizaGrilla()
 {
     CCliente oCliente = new CCliente();
     gvwClientes.DataSource = (DataTable) oCliente.fnListaClientes(chkOpcionTodos.Checked );
     gvwClientes.DataBind();
 }