PDA

Ver la Versión Completa : No de Filas en datagrid VB.NET


pzhero
07-06-2004, 23:10:56
hola que tal a todos, se que estos foros son para tecnologias web, pero no encontraba por donde preguntar y soy nuevo en esto del NET...

estoy haciendo un programa en VB.net para windows application, tengo un datagrid en el cual deseo hacer inserciones y borrado, el cual se alimenta de una consulta trayendo datos de dos diferentes tablas, el datagrid me presenta los datos que quiero y cuando presiono supr borra la fila seleccionada y tambien agrega datos pero si vuelvo a hacer la consulta me trae los datos anteriores, ¿alguien me prodria decir como hacer para que se guarden los datos que estan el el datagrid? si inserto un registro, que me de de ala y silo borro que lo borre de la base, pense en hacer un rrecorrido por el datagrid pero no encuentro ninguna propiedad por ningun lado que me diga cuantas filas tiene, algo asi como un rows o un rowscount o items.count, no
los tiene,, alguna idea para resolver mi problema??

Gracias de antemano http://www.forosdelweb.com/images/smilies/smile.gif

__hector
08-06-2004, 16:41:34
Hola!

Hasta donde me he enterao, no existe una propiedad count para un grid (de la clase DataGrid) que te indique el numero de filas. Pero eso lo puedes obtener facilmente haciendo un count del dataset que tienes asociado al grid (dataTable.rows.count)

Ahora, con respecto a la actualizacion, como lo he visto anteriormente es: asociar un datatable al grid, e invocar el metodo AcceptChanges del dataTable para que actualice los cambios, y si lo que tienes es un datatable contenido en un dataset, utilizar DataSet.Update para actualizar los datos. Esto es asi por la versatilidad que te brinda el dataset de trabajar con datos desconectados, por lo que es necesario indicarle explicitamente cuando quieres que los cambios se apliquen a la bbdd

pzhero
08-06-2004, 18:02:25
Mira. tengo el siguiente codigo con el cual lleno el datagrid

strSql = String.Format("SELECT emple.ficha, emple.nombre+' '+ emple.ap_paterno +' '+ emple.ap_materno as nombre FROM emple, parti WHERE ((emple.ficha = parti.ficha)) and parti.cve_curso='{0}'", cmbCurso.SelectedValue.ToString())

adp1 = New SqlDataAdapter(strSql, Cnn) 'adp1 es un dataadapter
DS1 = New DataSet("CntrID") 'DS1 es un Dataset
adp1.Fill(DS1)
DTg = DS1.Tables(0) 'DTg es un Data Table
dtgParti.DataSource = DTg

bueno el problema es cuando elimino una fila del datagrid se supone se debe eliminar un registro de la tabla parti , y cuando se inserta uno se debe agregar un registro a la misma tabla , ¿como hago esto?, pense que tal vez podria ser de la siguiente forma

DTg.AcceptChanges()
DS1.AcceptChanges()
dtgParti.Update()

Pero no resulta,, que me sugiere que haga??? se lo agradeceria muchisismo

__hector
08-06-2004, 21:01:47
Haz el Update al dataAdapter en vez del datagrid, y dinos que tal.