Problemas con DataGrid

24/02/2005 - 13:53 por Jose | Informe spam
Hola a todos.

Tengo unos problemillas con un dataGrid, a ver si me podeis ayudar.

Resulta que quiero mostrar unos datos en el data grid y poder modificar sus
valores. Hasta este punto todo bien, pero eso lo quiero para las filas que
yo quiero mostrar, sin embargo pinchando en la última fila del dataGrid me
crea una nueva en la que puedo insertar datos y eso no quiero que se pueda
hacer. La propiedad readOnly del DataGrid no vale porque entonces no puedo
modificar los valores de las filas.

Otro problemilla que tengo es que una de las columnas que muestro en el
DataGrid es de tipo Booleano (Muestra checkBox) y cuando pincho sobre el
checkBox me cambia el estado pero no solo tiene los estados de seleccionado
o no seleccionado, sino que tiene un tercer estado de seleccionado pero con
el fondo de color gris. ¿Alguien sabe como hacer que no aparezca este tercer
estado?

El código que utilizo para rellenar el DataGrid es el siguiente.

Dim dt As DataTable = New DataTable("")

' create data table columns

dt.Columns.Add("INCLUIDO", System.Type.GetType("System.Boolean"))

dt.Columns.Add("NOMBRE")

dt.Columns.Add("CANTIDAD")

dt.Columns.Add("PRECIO")

dt.Columns.Item("NOMBRE").ReadOnly = True



Dim dr As DataRow

Dim j As Integer

For j = 0 To numproductos - 1

dr = dt.NewRow

dr.Item("INCLUIDO") = "True"

dr.Item("NOMBRE") = "Nombre_del_Producto

dr.Item("CANTIDAD") = 1

dr.Item("PRECIO") = 100

dt.Rows.Add(dr)

Next j

DataGrid1.DataSource = dt



Si alguien sabe alguna solución, por favor que me ayude.

Muchas Gracias.
 

Leer las respuestas

#1 Pedro Rivera
24/02/2005 - 22:38 | Informe spam
Tampoco sé como hacer que no se muestre esa nueva fila al
entrar en la última, pero una solución es agregar código
al evento "CurrentCellChanged". Por ejemplo, si tú
quieres mostrar solo 10 filas, haces lo siguiente:


Private Sub DataGrid1_CurrentCellChanged(ByVal sender
As Object, ByVal e As System.EventArgs) Handles
DataGrid1.CurrentCellChanged
If Me.DataGrid1.CurrentRowIndex >= 10 Then
Me.DataGrid1.CurrentRowIndex = 9
End If
End Sub

Hola a todos.

Tengo unos problemillas con un dataGrid, a ver si me


podeis ayudar.

Resulta que quiero mostrar unos datos en el data grid y


poder modificar sus
valores. Hasta este punto todo bien, pero eso lo quiero


para las filas que
yo quiero mostrar, sin embargo pinchando en la última


fila del dataGrid me
crea una nueva en la que puedo insertar datos y eso no


quiero que se pueda
hacer. La propiedad readOnly del DataGrid no vale porque


entonces no puedo
modificar los valores de las filas.

Otro problemilla que tengo es que una de las columnas


que muestro en el
DataGrid es de tipo Booleano (Muestra checkBox) y cuando


pincho sobre el
checkBox me cambia el estado pero no solo tiene los


estados de seleccionado
o no seleccionado, sino que tiene un tercer estado de


seleccionado pero con
el fondo de color gris. ¿Alguien sabe como hacer que no


aparezca este tercer
estado?

El código que utilizo para rellenar el DataGrid es el


siguiente.

Dim dt As DataTable = New DataTable("")

' create data table columns

dt.Columns.Add("INCLUIDO", System.Type.GetType


("System.Boolean"))

dt.Columns.Add("NOMBRE")

dt.Columns.Add("CANTIDAD")

dt.Columns.Add("PRECIO")

dt.Columns.Item("NOMBRE").ReadOnly = True



Dim dr As DataRow

Dim j As Integer

For j = 0 To numproductos - 1

dr = dt.NewRow

dr.Item("INCLUIDO") = "True"

dr.Item("NOMBRE") = "Nombre_del_Producto

dr.Item("CANTIDAD") = 1

dr.Item("PRECIO") = 100

dt.Rows.Add(dr)

Next j

DataGrid1.DataSource = dt



Si alguien sabe alguna solución, por favor que me ayude.

Muchas Gracias.


.

Preguntas similares