Tengo en Un Formulario Un Datagridview

Embed Size (px)

Citation preview

Tengo en un formulario un Datagridview (DgvAlumnos), un Listbox (LstCalificaciones) y un botn (Button1). En el evento load del formulario cargo el Datagridview con los datos extraidos de una consulta a la base datos.Luego quiero que cuando se pulse en el botn se cargue en el Listbox los datos recuperados de un procedimiento almacenado de forma que el parametro que le paso al procedimiento almacenado es el primer elemento (Dni) de la fila seleccionada en el datagridview (DgvAlumnos).El codigo es el siguiente :ImportsSystem.DataImportsSystem.Data.SqlclientPublicClassFrmAlumnoDimConAlumnosAsSqlConnectionDimDAAlumnosAsSqlDataAdapterDimDSAlumnos1AsNewDataSet("DSAlumnos")DimDSCalificacionesAlumnos1AsNewDataSet("DSCalificacionesAlumnos")DimBdsAlumnosAsNewBindingSourceDimBdsCalificacionesAlumnosAsNewBindingSourcePrivateSubFrmAlumno_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMe.LoadConAlumnos =NewSqlConnectionConAlumnos.ConnectionString ="cadena de conexion"DAAlumnos =NewSqlDataAdapter("select * from Alumno", ConAlumnos)DAAlumnos.Fill(DSAlumnos1,"Alumno")BdsAlumnos.DataSource = DSAlumnos1BdsAlumnos.DataMember ="Alumno"DgvAlumnos.DataSource = BdsAlumnosBdnAlumnos.BindingSource = BdsAlumnosEndSubPrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickDimDniAlumnoAsStringConAlumnos =NewSqlConnectionConAlumnos.ConnectionString ="cadena de conexion"DAAlumnos.SelectCommand.Connection = ConAlumnosDAAlumnos.SelectCommand.CommandText ="dbo.ConsultarNotaAlumno"DAAlumnos.SelectCommand.CommandType = CommandType.StoredProcedureDniAlumno = DgvAlumnos.SelectedCells(0).Value.ToStringDAAlumnos.SelectCommand.Parameters.Add("@Dni", SqlDbType.Char, 9)DAAlumnos.SelectCommand.Parameters(0).Value = DniAlumnoDSCalificacionesAlumnos1.Clear()DAAlumnos.Fill(DSCalificacionesAlumnos1,"ConsultarNotaAlumno")BdsCalificacionesAlumnos.DataSource = DSCalificacionesAlumnos1BdsCalificacionesAlumnos.DataMember ="ConsultarNotaAlumno"LstCalificaciones.DataSource = BdsCalificacionesAlumnosEndSubEndClassPor que no se mecarga en el Listbox los datos resultantes de ejecutar el procedimiento almacenado? Lo curioso es que si en vez de un Listbox aado otro Datagridview (DataGridView1) y sustituyo la ultima lnea :LstCalificaciones.DataSource = BdsCalificacionesAlumnosPor esta otra ....DataGridView1.DataSource = BdsCalificacionesAlumnosEntonces si se me cargan en el nuevo datagridview(DataGridView1) los datos del procedimiento almacenado...Por que con el Listbox no funciona? que mas hay que aadir?