Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/09/2010, 22:28
oscarjf
 
Fecha de Ingreso: marzo-2010
Mensajes: 4
Antigüedad: 14 años, 9 meses
Puntos: 0
Exclamación Ayuda!!! Gridview con JavaScript

Saludos a todos ojala puedan ayudarme con este error que aparece al momento de hacer Edit / Update adjunto en la Imagen.

[URL="http://www.imaxenes.com/imagen/error1mm79f4.jpg.html"]VER IMAGEN AQUI![/URL]

El LinqDataSource hace todo el trabajo de traerme los registros y tengo la opción de editarlos por el gridview, para esto he habilitado las opciones de Edit, Delete, Update. Pero al momento de realizar el EDIT me salta el error y ya no se ni que hacer!!!! Por qué pasa por el RowDataBound y justo ahi tengo codigo para que haga referencia al JavaScript!!!!! Algunos Consejos para solucionar el error …


Lo que trato de hacer es que tengo una tabla de artículos … y deseo multiplicar el ARTICULO * EL PRECIO del lado del cliente para que haga rápido la multiplicación y en una columna nueva se almacena el resultado para eso tengo que usar JavaScript.



gracias de antemano dejo mi código.



Si alguien tiene un EJEMPLO MEJOR … POR FAVOR PASEMELO! Gracias =)

------------------------------------------------------------------------------------------------------

<script language="javascript" type="text/javascript">

function UpdateField(numID,txt1,txt2,total)

{
var txtval1=document.getElementById(txt1).value !="" ? document.getElementById(txt1).value : "0";

var txtval2=document.getElementById(txt2).value !="" ? document.getElementById(txt2).value : "0";

var total1=parseInt(txtval1)* parseInt(txtval2);

document.getElementById(total).innerHTML=total1;

if(document.getElementById(txt1).value=="" && document.getElementById(txt2).value=="")

document.getElementById(total).innerHTML="";

document.getElementById(txt1).disabled=false;

document.getElementById(txt2).disabled=false;

}

}

</script>

------------------------------------------------------------------------------------------------------


<asp:LinqDataSource ID="lds_DISPONIBLE" runat="server"

ContextTypeName="AlmacenModelEntities" EnableDelete="True"

EnableInsert="True" EnableUpdate="True" TableName="ARTICULOS_DISPONIBLES">

</asp:LinqDataSource>



<asp:GridView ID="GridView1" runat="server" DataSourceID="lds_DISPONIBLE"

EnableModelValidation="True" Width="100%" AutoGenerateColumns="False"

DataKeyNames="ID_ARTICULO" onrowdatabound="GridView1_RowDataBound">

<Columns>

<asp:TemplateField HeaderText="AS">

<ItemTemplate>

<asp:CheckBox ID="chkItem_" runat="server" />

</ItemTemplate>

</asp:TemplateField>

<asp:BoundField DataField=" ID_ARTICULO " HeaderText=" ID_ARTICULO "

InsertVisible="False" ReadOnly="True" SortExpression="NUM_SECUENCIA" />

<asp:BoundField DataField="DES_CONCEPTO" HeaderText="DES_CONCEPTO"

SortExpression="DES_CONCEPTO" />

<asp:TemplateField HeaderText="CANTIDAD_ARTICULO" SortExpression="CANTIDAD_ARTICULO">

<ItemTemplate>

<asp:TextBox ID="txtmark1" runat="server" Text='<%# Bind("CANTIDAD_ARTICULO") %>'></asp:TextBox>

</ItemTemplate>

<EditItemTemplate>

<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("CANTIDAD_ARTICULO") %>'></asp:TextBox>

</EditItemTemplate>

</asp:TemplateField>

<asp:TemplateField HeaderText="MON_PRECIO" SortExpression=" MON_PRECIO ">

<ItemTemplate>

<asp:TextBox ID="txtmark2" runat="server" Text='<%# Bind("MON_PRECIO") %>'></asp:TextBox>

</ItemTemplate>

<EditItemTemplate>

<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("MON_PRECIO") %>'></asp:TextBox>

</EditItemTemplate>

</asp:TemplateField>

<asp:TemplateField HeaderText="Total">

<ItemTemplate>

<asp:Label ID="lblTotal" runat="server" Text="Label"></asp:Label>

</ItemTemplate>

</asp:TemplateField>

<asp:CommandField ShowEditButton="True" ShowSelectButton="True" />

</Columns>

</asp:GridView>



------------------------------------------------------------------------------------------------------

protected void GridView1_OnRowDataBound(object sender, GridViewRowEventArgs e)

{

if (e.Row.RowType == DataControlRowType.DataRow)

{

TextBox txt1 = (TextBox)e.Row.FindControl("txtmark1");

TextBox txt2 = (TextBox)e.Row.FindControl("txtmark2");

Label Lbl1 = (Label)e.Row.FindControl("lblTotal");

CheckBox chk1 = (CheckBox)e.Row.FindControl("chkItem__");


// AQUI ME SALTA EL ERROR!!!!!!!!!!!!!!!!!!!
txt1.Attributes["onKeyup"] = "javascript:return UpdateField('" + chk1.ClientID + "','" + txt1.ClientID + "','" + txt2.ClientID + "','" + Lbl1.ClientID + "')";

txt2.Attributes["onKeyup"] = "javascript:return UpdateField('" + chk1.ClientID + "','" + txt1.ClientID + "','" + txt2.ClientID + "','" + Lbl1.ClientID + "')";

}

}

------------------------------------------------------------------------------------------------------