Como poner un campo calculado en un grid
Tengo una Tabla en Sql Server los siguientes campos
Nombre Tipo Tamaño
------------------------------------------------
Codigo Integer 2
Nombre nvarchar 20
Und integer 2
CostoPza currency 8
Total currency 8 Este es un campo calculado q en la formula le coloco " Und * CostoPza " pero OJO esto dentro de SQL Server. Esto con el Fin de no hacer calculos en VB.NET
Ahora el problema es el siguiente:
Al ingresar la data en el grid y al darle dAdapter.update(ds,"Tabla") me sale un error q dice :
EL CAMPO "Total" NO SE PUEDE MODIFICAR POR SER UN CAMPO CALCULADO.
Que debo hacer q me recomiendan.
La idea de esto es q cada linea q carge el total se autogenere en el grid como lo hagoooo
Gracias
P.D:"Es como especie de una factura"
Nombre Tipo Tamaño
------------------------------------------------
Codigo Integer 2
Nombre nvarchar 20
Und integer 2
CostoPza currency 8
Total currency 8 Este es un campo calculado q en la formula le coloco " Und * CostoPza " pero OJO esto dentro de SQL Server. Esto con el Fin de no hacer calculos en VB.NET
Ahora el problema es el siguiente:
Al ingresar la data en el grid y al darle dAdapter.update(ds,"Tabla") me sale un error q dice :
EL CAMPO "Total" NO SE PUEDE MODIFICAR POR SER UN CAMPO CALCULADO.
Que debo hacer q me recomiendan.
La idea de esto es q cada linea q carge el total se autogenere en el grid como lo hagoooo
Gracias
P.D:"Es como especie de una factura"
Yo en tu lugar haria los calculos desde el codigo, es decir q calculara dinamicamente el campo total i lo pusiera en una columna del datagrid, ademas esta columna no podria ser editable.
<asp:TemplateColumn HeaderText="Total">
<ItemTemplate>
<p align="center">
<%# calculaTotal(Convert.ToDecimal(DataBinder.Eval Container.DataItem, "Und")),Convert.ToDecimal(DataBinder.Eval Container.DataItem, "Precio") %>
</p>
</ItemTemplate>
</asp:TemplateColumn>
i en el lado de codigo
public string calculaTotal(decimal und, decimal precio)
{
return (und*precio).ToString();
}
creo q esto te podria servir, suerte
<asp:TemplateColumn HeaderText="Total">
<ItemTemplate>
<p align="center">
<%# calculaTotal(Convert.ToDecimal(DataBinder.Eval Container.DataItem, "Und")),Convert.ToDecimal(DataBinder.Eval Container.DataItem, "Precio") %>
</p>
</ItemTemplate>
</asp:TemplateColumn>
i en el lado de codigo
public string calculaTotal(decimal und, decimal precio)
{
return (und*precio).ToString();
}
creo q esto te podria servir, suerte
