Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   .NET (http://www.forosdelweb.com/f29/)
-   -   Mostrar datos desde un ComboBox (http://www.forosdelweb.com/f29/mostrar-datos-desde-combobox-544333/)

gabyweb 29/12/2007 19:10

Mostrar datos desde un ComboBox
 
Hola a todos

Tengo un combobox el cual lleno al cargar el formulario con un store procedure, una vez llenado el combo me muestra en un textbox sus datos.

Por ejemplo: Direccion, Telefono, etc

Cómo puedo hacer para que cuando elija otro item del combo los textboxes se actualicen?

O sea la idea es mostrar los datos de los items seleccionados.

Gracias por su ayuda

Peterpay 31/12/2007 07:07

Re: Mostrar datos desde un ComboBox
 
public partial class Form1 : Form
{
SqlConnection con = new SqlConnection("Data Source=.;initial catalog=deepra;uid=sa;pwd=;");
SqlDataAdapter ad;
CurrencyManager cur;
SqlCommandBuilder cbuilder;
DataSet ds = new DataSet();
DataRow dr;
string PageAction = "";
public Form1()
{
InitializeComponent();
}
private void Form1_Load(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();

ad.Fill(ds, "Stud");
TxtRoll.DataBindings.Add("Text", ds, "Stud.Roll");
TxtName.DataBindings.Add("Text", ds, "Stud.Name");
TxtAddress.DataBindings.Add("Text", ds, "Stud.Address");


cur = (CurrencyManager)this.BindingContext[ds, "Stud"];
}

private void BtnFirst_Click(object sender, EventArgs e)
{
cur.Position = 0;
}

private void BtnPrevious_Click(object sender, EventArgs e)
{
cur.Position -= 1;
}

private void BtnNext_Click(object sender, EventArgs e)
{
cur.Position += 1;
}

private void BtnLast_Click(object sender, EventArgs e)
{
cur.Position = cur.Count - 1;
}

private void BtnNew_Click(object sender, EventArgs e)
{
dr = ds.Tables["Stud"].NewRow();
TxtRoll.Text = "";
TxtName.Text = "";
TxtAddress.Text = "";
PageAction = "Add";
}

private void BtnSave_Click(object sender, EventArgs e)
{
if (PageAction == "Add")
{
dr[0] = Int32.Parse(TxtRoll.Text);
dr[1] = TxtName.Text;
dr[2] = TxtAddress.Text;
ds.Tables["Stud"].Rows.Add(dr);
ad.Update(ds.Tables["Stud"]);
}
else
{
dr = ds.Tables["Stud"].Rows[cur.Position];
dr.BeginEdit();
dr[0] = Int32.Parse(TxtRoll.Text);
dr[1] = TxtName.Text;
dr[2] = TxtAddress.Text;
dr.EndEdit();
ad.Update(ds.Tables["Stud"]);
}
}

private void BtnDelete_Click(object sender, EventArgs e)
{
ds.Tables["Stud"].Rows[cur.Position].Delete();
ad.Update(ds.Tables["Stud"]);
}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
cur.Position=comboBox1.SelectedIndex;
}


Saludos
Peterpay

gabyweb 31/12/2007 08:48

Re: Mostrar datos desde un ComboBox
 
Gracias "Peterpay" por tu ayuda

CubanSexy 21/01/2009 15:39

Ayuda en C#
 
Buenas y saludos ante todo, estoy realizando una base de datos una en acces y otra en SQL 2005 uso visual studioo 2008 y aqui tengo el problema.

Cuando creo una aplicación de formularios y a estos le agrego una base de datos sea en Acces o SQL no le pongo la barra de desplazamiento que trae quiero ponerle botones que me permitan Agregar registro guardar registro moverme por los registros y eliminar, hasta ahora e llegado hacer lo de agregar, guardar, pero en eliminar un registro logro que me elimine consecutivamente los registro pero no el registro que yo desee por ej si tengo 20 registro y quiero eliminar el 15 cuando preciono el botón eliminar me borrar el registro 1.. Y lo mismo me pasa en SQL. Como puedo solucionar el problema del código del botón eliminar en acces y en SQL.

JHB 22/01/2009 08:37

Respuesta: Mostrar datos desde un ComboBox
 
Cuban no se si te entendi bien pero si lo que queres hacer es seleccionar un registro en una grid y mediante un boton eliminarlo yo haria algo como captar el valor de la celda en la grid que tiene el primarykey a eliminar y luego pasaria el parametro a un store procedure que se encarge de borrar el registro
para captar el valor de la celda creo no estoy seguro que es algo asi:


aux=this.dataGridView1.SelectedCells[0].Value;
//aux es del tipo por vos usado y la asignacion con el cast apropiado


y para el store procedure yo uso esto:


this.Cursor = System.Windows.Forms.Cursors.AppStarting;
this.myconn = new System.Data.SqlClient.SqlConnection();
this.Todo = new System.Data.SqlClient.SqlCommand();
this.myconn.ConnectionString = "Data Source=.\\SQLEXPRESS;Initial Catalog=dbesc;Integrated Security=True";
this.myconn.FireInfoMessageEventOnUserErrors = false;
System.Data.SqlClient.SqlDataReader mydr;
this.Todo.Connection = this.myconn;
Todo.CommandType = CommandType.StoredProcedure;
Todo.Parameters.Add("@nro", SqlDbType.Int).Value = aux;
Todo.CommandText = "pa_del";
myconn.Open();
mydr = Todo.ExecuteReader();
myconn.Close();
this.Cursor = System.Windows.Forms.Cursors.Default;
MessageBox.Show("EL REGISTRO HA SIDO ELIMINADO CON EXITO");
this.Close()



previa delclaracion en el form de:
private System.Data.SqlClient.SqlConnection myconn;
private System.Data.SqlClient.SqlCommand Todo;


espero te sirva.Suerte

CubanSexy 22/01/2009 10:12

Respuesta: Mostrar datos desde un ComboBox
 
Haber si entiendo con este codigo logro seleccionar la fila que deseo borrar no? bueno ahora como le doy la condicion de borrar, antes utilizaba este codigo

private void btnDelete_Click(object sender, EventArgs e)
{

bdDataSet1.Tables["Nombre"].Rows[0].Delete();

}

pero con esto elimino consecutivamente no importa que seleccione siempre me borra la primera fila, entonces con el codigo este

this.dataGridView1.SelectedCells[0].Value;
como lo implemento con la condicion de borrar

JHB 22/01/2009 11:22

Respuesta: Mostrar datos desde un ComboBox
 
fijate que con la linea:
bdDataSet1.Tables["Nombre"].Rows[0].Delete();
al tener ".Rows[0]" siempre te va a borrar el 1 reguistro lo que vas a tener que hacer es devolver en una variable int la posicion del registro a eliminar y poner algo asi:
int aux;
bdDataSet1.Tables["Nombre"].Rows[aux].Delete();

CubanSexy 22/01/2009 11:35

Respuesta: Mostrar datos desde un ComboBox
 
ok pero con el codigo que me diste this.dataGridView1.SelectedCells[0].Value; supuestamente con esto deveria tomarme el registro donde selecciono ahora como borrro ya que el codigo que uso para borrar es bdDataSet1.Tables["Nombre"].Rows[0].Delete();, otra cosa
la varia int donde la declaro?

CubanSexy 22/01/2009 11:37

Respuesta: Mostrar datos desde un ComboBox
 
ya resolvi lo de la variable int lo que no se si es correcto o no,

int aux= 0;
bdDataSet1.Tables["Nombre"].Rows[aux].Delete();

tuve que darle a aux un valor 0 como ejemplo para que no me diera error que otra forma puedo hacer pues de esta manera me sigue borrando la primera fila y no la que marco

JHB 22/01/2009 11:53

Respuesta: Mostrar datos desde un ComboBox
 
cuban esta linea "this.dataGridView1.SelectedCells[0].Value" te toma la primer celda seleccionada por eso el indice 0 hace esto para que te devuelva el indice
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
aux=this.dataGridView1.SelectedCells[0].RowIndex;
}


y al variable aux declarala : public static int aux en el form principal y en borras cambiando 0 por aux
private void btnDelete_Click(object sender, EventArgs e)
{

bdDataSet1.Tables["Nombre"].Rows[aux].Delete();

}
probalo y me contas

CubanSexy 22/01/2009 12:16

Respuesta: Mostrar datos desde un ComboBox
 
haber compa aqui te paso todo el codigo y dime que tengo mal

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace bd2
{
public partial class Form1 : Form


{
public Form1()



{

InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{

this.oleDbDataAdapter1.Fill(this.bdDataSet1);
//this.oleDbDataAdapter1.Fill(this.bdDataSet1);
}

private void btnSave_Click(object sender, EventArgs e)
{
this.Validate();
this.nombreBindingSource.EndEdit();
this.oleDbDataAdapter1.Update(this.bdDataSet1);
MessageBox.Show("Actualizado");
}

private void btnNew_Click(object sender, EventArgs e)
{
this.nombreBindingSource.AddNew();
}

private void btnDelete_Click(object sender, EventArgs e)
{

bdDataSet1.Tables["Nombre"].Rows[aux].Delete();

}


private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
aux = this.dataGridView1.SelectedCells[0].RowIndex;
}
}
}



Dime que me falto aqui

JHB 22/01/2009 12:26

Respuesta: Mostrar datos desde un ComboBox
 
declarar la variable aux:



namespace bd2
{
public partial class Form1 : Form
public static int aux;

{
public Form1()



{

InitializeComponent();...............

si no anda pasame el error que devuelve

CubanSexy 22/01/2009 12:58

Respuesta: Mostrar datos desde un ComboBox
 
Me sale esto

Error 1 { expected
Error 2 Invalid token '{' in class, struct, or interface member declaration

JHB 23/01/2009 08:39

Respuesta: Mostrar datos desde un ComboBox
 
perdon por no contestarte antes ese error es que te falta una llave "{"

CubanSexy 23/01/2009 09:41

Respuesta: Mostrar datos desde un ComboBox
 
si pero mira, la llave la pongo aqui de estaforma

namespace bd2
{
public partial class Form1 : Form
// tengo que poner una llave aqui
{
public static int aux;

// y borrar la llave que tengo abajo para que me funcione sin error
{

public Form1()

CubanSexy 23/01/2009 09:44

Respuesta: Mostrar datos desde un ComboBox
 
Ahora mira este detalle despues de tanto dar encontre esta forma de hacerlo...

dataGridView1.Rows.Remove(dataGridView1.CurrentRow );

Con esto puedo borrar el registor seleccionado sin ningun problema, pero quisiera saber la forma que me estas esplicando, puesto que esto me sirbe para borrar en un grid no en un texbot

JHB 23/01/2009 10:09

Respuesta: Mostrar datos desde un ComboBox
 
La llave que esta arriba de public form1() no va

CubanSexy 23/01/2009 10:20

Respuesta: Mostrar datos desde un ComboBox
 
ok provare haber

CubanSexy 26/01/2009 07:38

Respuesta: Mostrar datos desde un ComboBox
 
quito la llave y me da otro error

JHB 26/01/2009 08:29

Respuesta: Mostrar datos desde un ComboBox
 
pasa el error asi lo vemos


La zona horaria es GMT -6. Ahora son las 06:41.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.