如何使用JavaScript从GridView Cell分配和检索值?

时间:2011-06-09 12:48:14

标签: javascript .net asp.net gridview

我有两个标签,如FixedTotal和TotalPercent,一个GridView,有一行,如

    ReferenceID       Percentage          Amount
   --------------    -------------       --------
        1                5                 1000

这里我想用TotalPercent标签的文本更改“Percentage”列值5。 我想在FixedTotal标签中显示“金额”列值1000。 我还想检查网格是否有行?这该怎么做? 列是BoundField列..

3 个答案:

答案 0 :(得分:3)

对gridview单元格的

Getting/Setting值,你需要知道Gridview的Row Index,当你从gridview调用JS函数时可以pass row index

<script language="javascript" type="text/javascript">
function update(rowIndexOfGridview) {
    var ri = rowIndexOfGridview; 
    var grd = document.getElementById('<%= GridView1.ClientID %>');

    CellValue = grd.rows[ri].cells[1].childNodes[0].value; // get
    grd.rows[ri].cells[2].childNodes[0].value = CellValue; assign
    ...........
    .............
}

答案 1 :(得分:2)

<script language="javascript" type="text/javascript"> 
function Calculate() 
<br/>
{ 
<br/>
var grid = document.getElementById("<%=GridID.ClientID%>");
<br/> 
var sum = 0; <br/>
for (var i = 1; i < grid.rows.length; i++)<br/>
 { <br/>
var Cell = grid.rows[i].getElementsByTagName("input"); 
<br/>if (!Cell[4].value) {sum  += 0; } else { sum += parseFloat(Cell[4].value);} } 
<br/>
document.getElementById("<%=TextBox1.ClientID%>").value = sum; 
 }
<br/>
 </script>
------------------------------------------------------------------------



<asp:TemplateField HeaderText="Current payment" >
                            <ItemTemplate>
                                <asp:TextBox ID="cridnvalue" runat="server" Width="70px" BorderStyle="None" onkeyup="CalculateTax();" ></asp:TextBox>
                            </ItemTemplate>
                            <ItemStyle Width="120px" />
                        </asp:TemplateField>

答案 2 :(得分:0)

您可以尝试这个。我已经用过了,没有错误。

<script language="javascript" type="text/javascript">
function update(rowIndexOfGridview) {
    var ri = rowIndexOfGridview; 
    var grd = document.getElementById('<%= GridView1.ClientID %>');

    var CellValue = grd.rows[ri].cells[1].childNodes[0].textContent); // get
    grd.rows[ri].cells[2].childNodes[0].textContent = CellValue; //assign
}
</script>