Hola como esta.
Mi pregunta es la siquiente tengo un listview Control(Telerik) y he activado un checkbox y por medio de ese checkbox quiero modificar el formato de una columna del listview es decir si el estado del checkbox esta en On mostrara entregado en la columna estado del articulo si no, no entregado.
Aca una imagen los valores estan predefinidos para darme a entender mejor.
(http://3.bp.blogspot.com/-2RnNZM9wQdw/VW_LXtFzIWI/AAAAAAAAA8Q/-2qHxSMv9H0/s1600/CheckBox.png)
Tengo lo siquiente:
Si no ando mal en esta parte me cambiaria el texto de la columna segun el estado del checkbox.
Private Sub lvRegDePedido_ItemCheckedChanged(sender As Object, e As ListViewItemEventArgs) Handles lvRegDePedido.ItemCheckedChanged
If e.Item.CheckState = Enumerations.ToggleState.On Then
'Cambia texto a entregado
End If
End Sub
Tambien tengo lo siquiente que es como se le da formato a una celda en especifico.
Private Sub lvRegDePedido_CellFormatting(sender As Object, e As ListViewCellFormattingEventArgs) Handles lvRegDePedido.CellFormatting
If e.CellElement.Data.HeaderText = "Estado del articulo" Then
e.CellElement.Text = "Entregado"
End If
End Sub
Ahora mi pregunta es como uso el evento ItemCheckedChanged y CellFormatting para que por medio del cambio del checkedChange se le de formato a la celda.
Ya prove varias cosas como lo siquiente pero me lanza un error.
Private Sub lvRegDePedido_CellFormatting(sender As Object, e As ListViewCellFormattingEventArgs) Handles lvRegDePedido.CellFormatting
Dim item As New ListViewDataItem
If item.CheckState = Enumerations.ToggleState.On Then
If e.CellElement.Data.HeaderText = "Estado del articulo" Then
e.CellElement.Text = "Entregado"
End If
End If
End Sub
tal vez puedan ayudarme.
Saludos.
Hola.
Creo que la logica ya la tengo y lo que se me ocurrio fue llamar un evento dentro de otro es decir la del cellFormatting en el ItemCheck, cree una funcion para llamarla en el evento que la necesite.
Private Sub lvRegDePedido_ItemCheckedChanged(sender As Object, e As ListViewItemEventArgs) Handles lvRegDePedido.ItemCheckedChanged
If e.Item.CheckState = Enumerations.ToggleState.On Then
formatoDeCelda()
End If
End Sub
Funcion
Private Sub formatoDeCelda()
Try
Dim com As ListViewCellElementCreatingEventArgs
com = Nothing
If com.CellElement.Data.HeaderText = "Estado del articulo" Then
com.CellElement.Text = "Entregado"
End If
Catch ex As Exception : MsgBox(ex.Message)
End Try
End Sub
pero me lanza el siquiente error.
(http://4.bp.blogspot.com/-igH5Tth3kRU/VXAC14oJrpI/AAAAAAAAA8g/Hkuh0niXa88/s1600/errorCheck.png)
Tal vez me puedan indicar por que.
Saludos.
Hola como estan.
Despues de casi un dia lo logre y paso a compartir la solucion tan facil.
Con esto pueden hacer cualquier cosa con el checkbox y la manipulacion de una celda en especial.
Desde hacer una consulta a una BD por medio de un dato especifico del listView o varios datos del listview etc..
Private Sub lvRegDePedido_ItemCheckedChanged(sender As Object, e As ListViewItemEventArgs) Handles lvRegDePedido.ItemCheckedChanged
If e.Item.CheckState = CheckState.Checked Then
Dim entregado As String = "Entregado"
e.Item(3) = entregado 'Con variable
Else
e.Item(3) = "No entregado" 'Sin variable
End If
End Sub
(http://1.bp.blogspot.com/-21SIcQehc5M/VXJAweSRDOI/AAAAAAAAA84/HGn2odLJxj4/s1600/CheckBoxsSol.png)
Saludos.