Foros del Web » Programación para mayores de 30 ;) » .NET »

Problemas al usar el templateColum de un datagrid usando asp.net

Estas en el tema de Problemas al usar el templateColum de un datagrid usando asp.net en el foro de .NET en Foros del Web. Saludos, comuna... una vez mas solicitando su ayuda... resulta que estoy trabajando con templatecolumn. de un datagrid. con el fin de poder usar las columnas ...
  #1 (permalink)  
Antiguo 18/07/2005, 12:48
 
Fecha de Ingreso: julio-2005
Mensajes: 3
Antigüedad: 19 años, 4 meses
Puntos: 0
Problemas al usar el templateColum de un datagrid usando asp.net

Saludos, comuna... una vez mas solicitando su ayuda... resulta que estoy trabajando con templatecolumn. de un datagrid. con el fin de poder usar las columnas de editar y eliminar. hasta ahi no hay problema... todo funciona correctamente. el problema resulta cuando quiero mostrar en el datagrid.. los valores negativos de color rojo. yo hice eso en otro datagrid. usando BoundColumn porque solo era para mostrar datos, de esta manera...
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then

' PONER DE COLOR ROJO LOS VALORES NEGATIVOS

Dim YReal As Double = Convert.ToDouble(e.Item.Cells(7).Text)
Dim Ybudget As Double = Convert.ToDouble(e.Item.Cells(8).Text)
Dim YBVariation As Double = Convert.ToDouble(e.Item.Cells(9).Text)

If YReal < 0 Then
e.Item.Cells(7).ForeColor = Color.Maroon
End If
If Ybudget < 0 Then
e.Item.Cells(8).ForeColor = Color.Maroon
End If
If YBVariation < 0 Then
e.Item.Cells(9).ForeColor = Color.Maroon
End If
End If

Ahora cuando usoa ese mismo codigo.. en el otro datagrid q usa templatecolumn.. me sale el siguiente error-



Server Error in '/CostosOperativos' Application.
--------------------------------------------------------------------------------

Input string was not in a correct format.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.FormatException: Input string was not in a correct format.

Stack Trace:

[FormatException: Input string was not in a correct format.] System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +0 System.Convert.ToInt32(String value) +47 CostosOperativos.Principales.DataGrid_ItemDataBoun d(Object sender, DataGridItemEventArgs e) in c:\inetpub\wwwroot\CostosOperativos\Principales.as px.vb:148 System.Web.UI.WebControls.DataGrid.OnItemDataBound (DataGridItemEventArgs e) System.Web.UI.WebControls.DataGrid.CreateItem(Int3 2 itemIndex, Int32 dataSourceIndex, ListItemType itemType, Boolean dataBind, Object dataItem, DataGridColumn[] columns, TableRowCollection rows, PagedDataSource pagedDataSource) System.Web.UI.WebControls.DataGrid.CreateControlHi erarchy(Boolean useDataSource) System.Web.UI.WebControls.BaseDataList.OnDataBindi ng(EventArgs e) System.Web.UI.WebControls.BaseDataList.DataBind() CostosOperativos.Principales.BindGrid() in c:\inetpub\wwwroot\CostosOperativos\Principales.as px.vb:131 CostosOperativos.Principales.btnVer_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\CostosOperativos\Principales.as px.vb:1092 System.Web.UI.WebControls.Button.OnClick(EventArgs e) System.Web.UI.WebControls.Button.System.Web.UI.IPo stBackEventHandler.RaisePostBackEvent(String eventArgument) System.Web.UI.Page.RaisePostBackEvent(IPostBackEve ntHandler sourceControl, String eventArgument) System.Web.UI.Page.RaisePostBackEvent(NameValueCol lection postData) System.Web.UI.Page.ProcessRequestMain() +1281



Agradesco de ante mano su ayuda...

Martin
  #2 (permalink)  
Antiguo 18/07/2005, 23:33
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 20 años
Puntos: 8
El error según indica estás intentando convertir un string a entero, por lo que parece que el error no está en las líneas que has puesto (hay la conversión es a double), revisa el resto de tu codigo en el itemdatabound.
  #3 (permalink)  
Antiguo 19/07/2005, 06:34
 
Fecha de Ingreso: julio-2005
Mensajes: 3
Antigüedad: 19 años, 4 meses
Puntos: 0
cuando comento el evento itemdatabound. me muestra normal la grilla.. pero cuando entra pasa la primera vez y cuando entra a la linea q tiene q convertir e.item.cell(5).text me muestra un campo en blanco.. y eso es lo que no entiendo.. poruqe me muestra en blanco.. si se supone q esta barriendo la grilla..
  #4 (permalink)  
Antiguo 19/07/2005, 08:50
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 20 años
Puntos: 8
Es que según entiendo yo el evento ItemDataBound se lanza antes de llenar los elementos (aunque no te lo aseguro), por eso e.item.cell(5).text está vacío.
  #5 (permalink)  
Antiguo 19/07/2005, 09:15
 
Fecha de Ingreso: julio-2005
Mensajes: 3
Antigüedad: 19 años, 4 meses
Puntos: 0
ya resolvi el problema.. lo que pasa q cuando se trabaja con templatecolumn se hace de esta forma para buscar las celdas..

Dim Real As Double = Convert.ToDouble(DirectCast(e.Item.FindControl("lb lReal"), Label).Text)
ya q se crea un label y un textbox para editar..

Gracias de todas maneras por darte el tiempo de por responder

Martin.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:42.