如何使用JavaScript从GridView单元格分配和检索值

How to assign and retrieve value from the GridView Cell using JavaScript?

本文关键字:分配 检索 单元格 GridView 何使用 JavaScript      更新时间:2023-09-26

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

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

在这里,我想用TotalPercent标签的文本更改"Percentage"Column值5。并且我想要在FixedTotal标签中显示"Amount"Column值1000。我还想检查网格是否有行?如何做到这一点?列是BoundField列。。

网格视图单元格的Getting/Setting值,您需要知道gridview的Row Index,当您从网格视图调用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
    ...........
    .............
}
<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>

你可以试试这个。我用过这个,没有错误。

<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>