none
Problema al capturar selección de items en ListBox C# RRS feed

  • Pregunta

  • Hola a todos, cuento con un ListBox Multiselect:

    <label for="lbxEmpleado">PERSONAL</label>
    <asp:ListBox ID="lbxEmpleado" runat="server" CssClass="form-control" SelectionMode="Multiple"></asp:ListBox>

    en el aspx.cs:

    foreach (ListItem item in lbxEmpleado.Items)
                            {
                                if (item.Selected)
                                {
                                    objPerOrd = new PersonalPorOrdenServicio();
                                    objPerOrd.perOrd_numeroOrdenServicio = Convert.ToInt64(arraySp[1]);
                                    objPerOrd.perOrd_fechaInicioOrdenServicio = Convert.ToDateTime(txtFechaInicio.Text);
                                    objPerOrd.perOrd_fechaFinOrdenServicio = null;
                                    objPerOrd.perOrd_IDTipoPersonal = 3;
                                    objPerOrd.perOrd_IDOrdenServicio = Convert.ToInt64(arraySp[0]);
    
                                    objClsPerOrd = new clsPersonalPorOrdenServicio();
                                    objClsPerOrd.NuevoPersonalPorOrdenServicio(objPerOrd);
                                }
                            }

    Cuando por ejemplo, selecciono 3 ítems, solo me captura la selección del primero. ¿A que se deberá esto? ¿Alguna alternativa?

    Desearía de paso si me pueden proporcionar información para realizar un Dropdownlist Multiselect que es lo que desee al principio, pero no pude realizarlo y por ello implementé un ListBox (siendo mi preferencia Dropdown Multiselect)

    Gracias por su atención! Saludos

    sábado, 27 de octubre de 2018 16:29

Todas las respuestas

  • hola

    donde asignas los datos del listbox?

    si lo haces en el Page_Load recuerda que ese codigo debe estar dentro de un

    if(!IsPostBack){
    
       //aqu asignas datos listbox
    
    }


    sino lo haces asi el evento load se ejecuta en el evento y se vuelve a recargar la lista, perdiendo la seleccion

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    sábado, 27 de octubre de 2018 18:46
  • Hola Leandro! si si lo hago de esta manera:

        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!IsPostBack)
                {
                    txtAreaServicio.Text = Session["arServ_nombre"].ToString();
    
                    cargarDDLTipoReclamo();
                    cargarDDLBarrio();
                    cargarDDLPersonal(3); //ACA LLAMA AL MÉTODO PARA CARGAR EL LBX
                }
            }
            catch (Exception ex)
            {
    
            }
        }
        private void cargarDDLPersonal(int IDTipoPersonal)
        {
            try
            {
                webService = new WebServiceDC();
                string stLstResponsable = webService.cargarDDLPersonal(Convert.ToInt64(Session["per_IDAreaServicio"]), IDTipoPersonal);
    
                JavaScriptSerializer jsSer = new JavaScriptSerializer();
                List<clsTipoPersonal.DDLPersonal> lstPersonal = jsSer.Deserialize<List<clsTipoPersonal.DDLPersonal>>(stLstResponsable);
    
                lbxEmpleado.DataTextField = "per_NombreCompleto";
                lbxEmpleado.DataValueField = "tipPer_IDTipoPersonal";
                lbxEmpleado.DataSource = lstPersonal;
                lbxEmpleado.DataBind();
                
            }
            catch (Exception ex)
            {
    
            }
        }





    • Editado AguFortini sábado, 27 de octubre de 2018 20:22
    sábado, 27 de octubre de 2018 20:21