protected void StrUsuarios_OnReadData(object sender, StoreReadDataEventArgs e)
    {
      try
      {
        int _id_remate = hidId_Remate.Text.ValidaEntero("id_remate");

        co_tg_personas_no Nomina = new co_tg_personas_no();

        if (e != null)
        {
          int start = e.Start;
          int limit = NumInt.Init(e.Parameters.GetParameter("limit").Value);
          limit = limit == 0 ? e.Limit : limit;
          int page = (start / limit) + 1;

          Nomina.Pagina = page;
          Nomina.RegistrosPorPaginas = limit;
          Nomina.ColumnaOrden = "pe_nombres";
          Nomina.OrdenColumna =
            (FwpDataGridDataBound.Orden)
            Enum.Parse(typeof(FwpDataGridDataBound.Orden), e.Sort[0].Direction.ToString(), true);
          Nomina.id_remate = _id_remate;
        }
        else
        {
          Nomina.Pagina = 1;
          Nomina.RegistrosPorPaginas = 20;
          Nomina.ColumnaOrden = "pe_nombres";
          Nomina.OrdenColumna = FwpDataGridDataBound.Orden.ASC;
          Nomina.id_remate = _id_remate;
        }

        var conn = new ConexionPlgOnline(this.ObtenerConexion());
        var persona = conn.ListaPersonasPorRemates(Nomina);
        bool validado = false, monto = false;
        var customers = new List<PersonasGarantias>();

        foreach (var p in persona.DataSource)
        {

          IList<dynamic> persona1 = new ConexionPlgOnline(this.ObtenerConexion()).ListaPersonasPorRematePorIdPersona(_id_remate, p.id_persona);

          if (persona1.Any())
          {
            monto = Convert.ToInt32(persona1.First().ga_monto) > 0;
            validado = persona1.First().ga_habilitado;
          }

          customers.Add(new PersonasGarantias
          {
            id = p.id_persona,
            nombre = p.pe_nombres + " " + p.pe_appaterno,
            usuario = persona1.First().us_consuser,
            validado = validado,
            monto = monto,
            lotesValidado = ObtenerLotesValidado(p.id_persona, _id_remate)
        });
          AgregarFiltros(ref customers);
          AgregarOrdenamiento(ref customers, e);
        }

        strUsuarios.DataSource = customers;
        strUsuarios.DataBind();
      }
      catch (Exception ex)
      {
        Mensajes.Error(ErrorText.ERROR_CARGAR_USUARIOS_GARANTIAS + ex.Message);
      }
    }
    protected void strPersonas_Select(object sender, DirectEventArgs e)
    {
      try
      {
        int id_usuario = e.ExtraParams["id_usuario"].ValidaEntero("id_usuario");
        int id_remate = hidId_Remate.Text.ValidaEntero("id_remate");
        hidIdPersona.Text = id_usuario.ToString();
        List<dynamic> persona = new ConexionPlgOnline(this.ObtenerConexion()).ListaPersonasPorRematePorIdPersona(id_remate, id_usuario);
        if (persona.Any())
        {
          string montoEstimado = persona.First().repe_montoCompra;

          txtRut.Text = persona.First().pe_rut;
          txtNombre.Text = persona.First().pe_nombres;
          txtApePaterno.Text = persona.First().pe_appaterno;
          txtApeMaterno.Text = persona.First().pe_apmaterno;
          txtDireccion.Text = persona.First().pe_direccion;
          txtCiudad.Text = persona.First().pe_ciudad;
          txtComuna.Text = persona.First().pe_comuna;
          txtEmail.Text = persona.First().pe_email;
          txtTelefono.Text = persona.First().pe_telefono;
          txtNomContacto.Text = persona.First().pe1_nombreContacto;
          txtCarContacto.Text = persona.First().pe1_cargoContacto;
          txtEmaContacto.Text = persona.First().pe1_correoContacto;
          txtTelContacto.Text = persona.First().pe1_telefonoContacto;
          txtCondPago.Text = persona.First().repe_condicionesPago;
          txtGiroComercial.Text = persona.First().pe1_giroComercial;
          txtBanco.Text = persona.First().pe1_banco;
          txtSucursal.Text = persona.First().pe1_sucursal;
          txtTipoCuenta.Text = "";
          txtNroCuenta.Text = persona.First().pe1_cuentaCorriente;
          txtMontoCompraEstimado.Text = Numeros.punteaCifra(Numeros.QuitaPunteo(montoEstimado));
          txtMonto.Text = Convert.ToInt32(persona.First().ga_monto) > 0 ? Numeros.punteaCifra(Convert.ToInt32(persona.First().ga_monto).ToString()) : "";
          chkGarantia.Checked = persona.First().ga_habilitado;
          hidid_pais.Text = persona.First().id_pais.ToString();
          hidid_tipocuenta.Text = persona.First().id_tipoCuenta.ToString();

          if (persona.First().pe1_BesEmpresa)
          {
            rdoEmpresa.Checked = true;
          }
          else
          {
            rdoPersona.Checked = true;
          }

          List<dynamic> list = new ConexionPlgOnline(this.ObtenerConexion()).ListatiposCuentasBancos();

          foreach (dynamic t in list.Where(t => t.id_tipoCuenta == persona.First().id_tipoCuenta))
          {
            txtTipoCuenta.Text = t.tc_Tdesc;
          }
          co_tg_paises ipa = new bf_tg_paises().GetData(persona.First().id_pais);
          txtPais.Text = ipa.pa_pais;
          CargaLotes();

        }
      }
      catch (Exception ex)
      {
        throw new Exception(ex.Message);
      }
    }