Título: [AYUDA]llenar un Combobox c#
Publicado por: vinceet en 6 Noviembre 2014, 23:55 pm
Hola Necesito ayuda de como llenar un combobox apartir de una lista ejemplo que yo le pregunte el genero de musica que le gusta a la persona que se guarde en una lista y luego salga en el combobox
Título: Re: [AYUDA]llenar un Combobox c#
Publicado por: DarK_FirefoX en 7 Noviembre 2014, 04:04 am
Tienes tu TextBox (userInput), un Button (addGenre), el ComboBox (genresComboBox). No se como tendrás hecho las cosas, porque la verdad no das mucha información. Bueno, imagino que tengas algo como List<string> genres;
Luego, en el constructor de tu formulario (o donde debas hacerlo de acuerdo a tu aplicación) debes inicializar la lista: genres = new List <string>();
Ahora en el evento onClick del botón debes tener esto: private void addGenre_Click(object sender, EventArgs e) { genres.Add(userInput.Text); genresComboBox.Items.Add(userInput.Text); }
Esta quizás no sea la mejor manera de hacerlo, pero es la más sencilla. Si tienes alguna duda, pregunta de nuevo
Título: Re: [AYUDA]llenar un Combobox c#
Publicado por: Eleкtro en 7 Noviembre 2014, 06:53 am
ComboBox.ObjectCollection.AddRange Method (http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.objectcollection.addrange%28v=vs.110%29.aspx) Adds an array of items to the list of items for a ComboBox. List(T).ToArray Method (http://msdn.microsoft.com/en-us/library/x303t819%28v=vs.110%29.aspx) Copies the elements of the List<T> to a new array. VB.NetDim list As New List(Of String) From { "a", "b", "c" } With ComboBox1 .DropDownStyle = ComboBoxStyle.DropDownList .SuspendLayout() .Items.AddRange(list.ToArray) .SelectedIndex = 0 .ResumeLayout() End With
CsharpList <string> list = new List <string> { "a", "b", "c" }; var _with1 = ComboBox1; _with1.DropDownStyle = ComboBoxStyle.DropDownList; _with1.SuspendLayout(); _with1.Items.AddRange(list.ToArray); _with1.SelectedIndex = 0; _with1.ResumeLayout(); //======================================================= //Service provided by Telerik (www.telerik.com) //=======================================================
Título: Re: [AYUDA]llenar un Combobox c#
Publicado por: vinceet en 7 Noviembre 2014, 15:57 pm
Esta es mi lista public static List<Disco> listaDisco = new List<Disco>(); Esta es mi clase class Disco { public string titulo; public string genero; public int año; public string autor; public double precio; public DateTime fecha_registro; } Yo quiero que cuando yo llene el genero buscarlo en la lista todos los generos y que salga en el combobox Ejemplo este es mi metodo para llenar un datagrid foreach (Disco aux in Lista.listaDisco) { if (aux.genero == textBox1.Text) { dataGridView1.Rows.Add(aux.titulo, aux.genero, aux.año, aux.autor, aux.precio, aux.fecha_registro);
} else { dataGridView1.Rows.Clear(); } necesito saber como llenar el combobox asi
Título: Re: [AYUDA]llenar un Combobox c#
Publicado por: Eleкtro en 7 Noviembre 2014, 16:56 pm
No se si lo he entendido bien... Instancias una lista de la Class Disco, y lo que quieres hacer es llenar un ComboBox que contenga los distintos "Generos" da los items de la lista de Disco? Entonces solo tienes que seleccionar la propiedad " genero" de cada item Disco, lo puedes hacer con una query de LINQ o con un For: VB.NetImports System.Globalization Imports System.Threading Public Class Form1 Public Shared listaDisco As New List(Of Disco) From { New Disco With {.titulo = "a", .genero = "Rock"}, New Disco With {.titulo = "b", .genero = "Pop"}, New Disco With {.titulo = "c", .genero = "Dubstep"}, New Disco With {.titulo = "d", .genero = "dubstep"} } Class Disco Public titulo As String Public genero As String Public año As Integer Public autor As String Public precio As Double Public fecha_registro As DateTime End Class Private Sub test() Handles MyBase.Shown Dim currentCulture As CultureInfo = Thread.CurrentThread.CurrentCulture Dim textInfo As TextInfo = currentCulture.TextInfo() Dim genres As IEnumerable(Of String) = (From disc As Disco In listaDisco Select textInfo.ToTitleCase(disc.genero) Distinct) With ComboBox1 .Sorted = True .SuspendLayout() .Items.AddRange(genres.ToArray) .SelectedIndex = 0 .ResumeLayout() End With End Sub End Class
CSharp:using Microsoft.VisualBasic; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Diagnostics; using System.Globalization; using System.Threading; public class Form1 { public static List <Disco > listaDisco = new List <Disco > { titulo = "a", genero = "Rock" }, titulo = "b", genero = "Pop" }, titulo = "c", genero = "Dubstep" }, titulo = "d", genero = "dubstep" } }; public class Disco { public string titulo; public string genero; public int año; public string autor; public double precio; public DateTime fecha_registro; } private void test() { CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture; TextInfo textInfo = currentCulture.TextInfo(); IEnumerable<string> genres = (from disc in listaDiscotextInfo.ToTitleCase(disc.genero)); var _with1 = ComboBox1; _with1.Sorted = true; _with1.SuspendLayout(); _with1.Items.AddRange(genres.ToArray); _with1.SelectedIndex = 0; _with1.ResumeLayout(); } public Form1() { Shown += test; } } //======================================================= //Service provided by Telerik (www.telerik.com) //Conversion powered by NRefactory. //=======================================================
Título: Re: [AYUDA]llenar un Combobox c#
Publicado por: vinceet en 7 Noviembre 2014, 17:46 pm
Muchas Gracias ya encontre la forma gracias a ustedes lo que yo queria hacer esra esto es que soy principiante y no me se explicar bien
|