Gracias.
Amigo prueba con este código:
DataGrid1.VisibleRowCount
DataGrid1.VisibleColumnCount
O
TuDataSet.TuTabla.Rows.Count()
TuDataSet.TuTabla.Columns.Count()
Saludos cordiales,
Ángel Ruiz
[MS Visual Basic Developer MVP]
Caracas - Venezuela
"El conocimiento es un bien, que crece a medida que se comparte"
"Rubén" <anon...@discussions.microsoft.com> wrote in message
news:6d9d01c4cb56$720bd2e0$a301...@phx.gbl...
El problema es que no sé como acceder al DataSet, desde el
DataGrid. He probado un Cast que no me funciona, aunque
creo que no es una buena técnica de programación:
Dim otroDataSet As New DataSet
otroDataSet = CType(DataGrid1.DataSource, DataSet)
Gracias y espero tu consejo.
>-----Mensaje original-----
>.
>
Dim oDataView As New DataView
oDataView.Table = Me.DataSet_Recepcion1.Tables(tabla)
oDataView.RowFilter = "Id_Entrada = '" & Id_Entrada & "'"
Lineas_Grid = oDataView.Count
oDataView.Dispose()
End Function
Como verás es una función a la cual le paso un número y la tabla, adaptalo
tu a lo tuyo.... :)
PD.: te aconsejo te olvides del DataGrid que trae Microsoft y utilices otros
Datagrid de terceros que sean gratuitos, por ejemplo el TrueDBGrid de
ComponentOne.
"Rubén" <anon...@discussions.microsoft.com> escribió en el mensaje
news:6d9d01c4cb56$720bd2e0$a301...@phx.gbl...
si tienes una dataset, que llena una datagrid, automaticamente los dos estan
realcionados, es decir que si tu cuentas los registros de tu dataset notaras
que son los mismos que estan en tu datagrid....para que te des cuenta de
esto, has los siguiente llena el datagrid con tu dataset y luego con algun
boton manda la siguiente instruccion
dataset.tables(0).clear
notaras que el que se limpia es el datagrid, por lo que resulta lo mismo si
cuentas los registros del dataset para saber los del datagrid.
"Rubén" <anon...@discussions.microsoft.com> escribió en el mensaje
news:10e901c4cbd6$545c46f0$a501...@phx.gbl...
Tienes toda la razón en la primera lo coloque por entendí que querías eso.
me pudieras colocar la forma como carga los datos al Datagrid para poderte
ayudar en tu caso.
Saludos cordiales,
Ángel Ruiz
[MS Visual Basic Developer MVP]
Caracas - Venezuela
"El conocimiento es un bien, que crece a medida que se comparte"
"Rubén" <anon...@discussions.microsoft.com> wrote in message
news:10e901c4cbd6$545c46f0$a501...@phx.gbl...
Tengo un formulario "form1" donde muestro los datos de una
tabla en un DataGrid.
Con un botón, abro otro formulario "formInsert" donde
capturo datos y hago un INSERT en la tabla.
Tengo una clase con los procedimientos de acceso a la base
de datos "RdaInterface", como tengo que utilizar la
instancia desde los 2 formularios la he declarado Shared,
quiza los problemas vienen de aqui, se que no es muy correcto.
|-----------------------------------|
Public Class Form1
Inherits System.Windows.Forms.Form
Friend WithEvents DataGrid1 As
System.Windows.Forms.DataGrid
Friend WithEvents Button1 As System.Windows.Forms.Button
Public Shared rdaI As RdaInterface = New RdaInterface
Private Sub Button1_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
DataGrid1.DataSource =
rdaI.SelectTodo.Tables("Clientes")
End Sub
Private Sub Button2_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
Button2.Click
Dim f2 As New FormInsert
f2.Show()
End Sub
End Class
|-----------------------------------|
Public Class FormInsert
Inherits System.Windows.Forms.Form
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
Friend WithEvents TextBox3 As System.Windows.Forms.TextBox
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents Label3 As System.Windows.Forms.Label
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents Button2 As System.Windows.Forms.Button
Private Sub Button2_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
Button2.Click
Close()
End Sub
Private Sub Button1_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Dim col1 As String = TextBox1.Text
Dim col2 As String = TextBox2.Text
Dim col3 As String = TextBox3.Text
Form1.rdaI.InsertFila(col1, col2, col3)
End Sub
End Class
|-----------------------------------|
La función "SelectTodo" devuelve un DataSet, que lo enlazo
al DataGrid, (los datos se supone que ya están locales en
el dispositivo) este es el código:
|-----------------------------------|
Public Function SelectTodo() As DataSet
Try
'Nos conectamos al SQL Server CE.
_cn = New
System.Data.SqlServerce.SqlCeConnection("Data Source= " &
_baseDeDatosLocalString)
_cmd = New
System.Data.SqlServerCE.SqlCeCommand("SELECT CodCliente,
Descripcion, telefono FROM clientesLocal", _cn)
_da = New
System.Data.SqlServerCE.SqlCeDataAdapter(_cmd)
'Creamos una nueva tabla (DATATABLE).
Dim dt As System.Data.DataTable = New
System.Data.DataTable("Clientes")
'Si el DATASET contiene algún objeto DATATABLE,
vaciamos el DATASET.
If _ds.Tables.Count() <> 0 Then
_ds.Tables.Clear()
End If
'Llenamos la tabla con la salida de la query.
_da.Fill(dt)
'Añadimos la tabla al DATASET.
_ds.Tables.Add(dt)
Return _ds
Catch er As SqlCeException
ShowError(er)
Catch er As Exception
MessageBox.Show(er.Message)
End Try
End Function
|-----------------------------------|
El problema es que desde "form1" donde tengo el DataGrid,
quisiera poder acceder al DataSet
que tiene enlazado y por tanto acceder al DataTable.
Bueno espero que no sea mucho rollo y espero tu consejo. Si
hay otra forma de hacerlo, no
me importa cambiarlo.
Gracias...
>-----Mensaje original-----
>.
>
Un saludo.....
"Rubén" <anon...@discussions.microsoft.com> escribió en el mensaje
news:75ec01c4cca2$ce1000a0$a301...@phx.gbl...
He probado varias cosas pero no me funcionan:
- Un Cast, para obtener el objeto DataSet:
myDataSet = CType(DataGrid1.DataSource,System.Data.DataSet)
- ó esto otro:
numFilas=DataGrid1.BindingContext(DataGrid1.DataSource).Count()
numColumnas=DataGrid1.TableStyles.Item(0).GridColumnStyles.Count()
Bueno si tienes alguna idea, será bienvenida.
>-----Mensaje original-----
>.
>
numFilas=DataGrid1.BindingContext(DataGrid1.DataSource).Count()
En todo caso te daría el NUMERO TOTAL DE FILAS que tiene el DataSet
asociado, y yo entiendo que quieres el número de filas QUE PRESENTA el
datagrid. Por ejemplo, estamos visionando un pedido en concreto y ese pedido
tiene una serie de líneas, imagina que 10 líneas, pues debes mostrar que
tiene 10 líneas y si haces lo que pones, visionarás el NUMERO TOTAL de
líneas que tiene el DataSet, incluyendo TODOS los pedidos que tengas... Yo
trabajo con muchos datos y lo hago de la forma que te pongo mas arriba y la
verdad, me funciona de lujo y súper rápido. No quiero decir con esto que sea
la mejor manera, por supuesto, seguro que hay formas más... digamos,
profesionales... pero de momento funciona y bien... jeje, es todo...
Un saludo....
"Rubén" <anon...@discussions.microsoft.com> escribió en el mensaje
news:18ad01c4cce3$ef32c1a0$a501...@phx.gbl...