| |||
Llenar un ComboBox en Windows forms Hola me gustaria saber como llenar un combo box en aplicaciones windows... pense q seria facil con la ayuda de un datasource (como en aplicaciones web) pero no es asi :S alguien q me de un ejemplo por favor! Gracias!!! |
| |||
Re: Llenar un ComboBox en Windows forms pues la verdad yo lo hacia a travez de un sqldatasource el cual hacia la consulta y por medio de este llenaba el dropdownlist... para llenar la base da datos usaba el siguiente: pe:me.cbo_ciudad.selectedvalue ya q necesitaba enviar el valor de este y no el texto q contenia... ojala me entienda xD |
| ||||
Re: Llenar un ComboBox en Windows forms Aca haces lo mismo Combobox combo=new ComboBox(); combo.Datasource=DataSource; // Donde tu datasource puede ser practicamente cualquier cosa un DataSet un Array etc. El SqlDataSource q utilizas en Web tiene muchos asistentes aca puedes hacer lo mismo con Typed o Untyped Datasets saludos peter |
| |||
Re: Llenar un ComboBox en Windows forms ya intente eso y me da un error en la conexion, es por eso q no pude usar el dataset ya q para abrir la conexion utilizo una cadena... :S |
| ||||
Re: Llenar un ComboBox en Windows forms Igual con un dataset puedes usar una cadena no hay limitacion con ello CC Dataset ---> DataAdapter ---> BD y viceversa. Te pongo un Ejemplo Acontinuación public partial class Form1 : Form { SqlConnection con = new SqlConnection("data source=.;initial catalog=deepra;uid=sa;pwd=;"); SqlDataAdapter ad; SqlCommandBuilder cbuilder; DataSet ds=new DataSet(); public Form1() { InitializeComponent(); } private void BtnLoad_Click(object sender, EventArgs e) { ad = new SqlDataAdapter("select * from student", con); cbuilder = new SqlCommandBuilder(ad); ad.InsertCommand = cbuilder.GetInsertCommand(); ad.UpdateCommand = cbuilder.GetUpdateCommand(); ad.DeleteCommand = cbuilder.GetDeleteCommand(); ds.Clear(); ad.Fill(ds, "stud"); dataGridView1.DataSource=ds.Tables["stud"]; } private void BtnUpdate_Click(object sender, EventArgs e) { if (ds.HasChanges()) { ad.Update(ds.Tables["stud"]); MessageBox.Show("Updated"); } } private void BtnCancel_Click(object sender, EventArgs e) { if (ds.HasChanges()) { ds.RejectChanges(); MessageBox.Show("RollBacked"); } } } Recueda un dataset trabaja en modo desconectado. Un ejemplo usando un Array public partial class Form1 : Form { SqlConnection con = new SqlConnection("Data Source=.;initial catalog=Deepra;uid=sa;pwd=;"); ArrayList DataHolder = new ArrayList(); public Form1() { InitializeComponent(); } private void BtnPopulate_Click(object sender, EventArgs e) { SqlCommand com = new SqlCommand("select * from student", con); con.Open(); SqlDataReader rd = com.ExecuteReader(); if (rd.HasRows) { foreach (DbDataRecord rec in rd) { DataHolder.Add(rec); } } rd.Close(); con.Close(); } private void BtnBind_Click(object sender, EventArgs e) { dataGridView1.DataSource = DataHolder; } } Estos son meramente ilustrativos hay mil formas de hacerlo. saludos peter |
| ||||
Re: Llenar un ComboBox en Windows forms Con un DataTable public partial class Form1 : Form { SqlConnection con = new SqlConnection("data source=.;initial catalog=deepra;uid=sa;pwd=;"); SqlDataAdapter ad; SqlCommandBuilder cbuilder; DataTable dt = new DataTable(); public Form1() { InitializeComponent(); } private void BtnLoad_Click(object sender, EventArgs e) { ad = new SqlDataAdapter("select * from student", con); cbuilder = new SqlCommandBuilder(ad); ad.InsertCommand = cbuilder.GetInsertCommand(); ad.UpdateCommand = cbuilder.GetUpdateCommand(); ad.DeleteCommand = cbuilder.GetDeleteCommand(); dt.Clear(); ad.Fill(dt); dataGridView1.DataSource = dt; } private void BtnUpdate_Click(object sender, EventArgs e) { DataTable changetData= dt.GetChanges(); if(changetData!=null) { ad.Update(dt); MessageBox.Show("Updated"); } } private void BtnCancel_Click(object sender, EventArgs e) { DataTable changetData = dt.GetChanges(); if (changetData != null) { dt.RejectChanges(); MessageBox.Show("RollBacked"); } } } Saludos peter |
| ||||
Re: Llenar un ComboBox en Windows forms Un control enlazado a datos puede enlazarse a estos tipos: Un objeto que implemente la interfaz IEnumerable (como un objeto Array, ArrayList o Hashtable). Un objeto que implementa la interfaz IListSource (como un objeto DataSet). Los controles DataSource de web reducen la chamba a un wizard en windows puedes hacer lo mismo pero como realmente funciona los huesos y entenderlos te hace tener menos problemas. saludos peter |
| |||
Re: Llenar un ComboBox en Windows forms Si, los asistentes ayudan mucho, me toca ver como uso el de windows forms... como le dije anteriormente, me crea un conflicto, voy a ver si con el ejemplo q me da soluciono el problema, gracias por la pronta respuesta :D |