2011-06-09 29 views
2

我有两个标签,如FixedTotal和TotalPercent,如如何使用JavaScript从GridView Cell中分配和检索值?

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

在这里,我想改变与TotalPercent标签的文本的“百分比”列值5其中有一列一个GridView控件。 ,我想在FixedTotal标签中显示“金额”列值1000。 我也想检查网格是否有排或没有?这个怎么做? 列是绑定列列...

+0

你想怎么调用JS功能发起改变?有没有带有“更新”按钮的列?你是在拼凑所有的金额还是使用特定的行数? – 2011-06-09 14:33:42

+0

@Alison:“TotalPercent”标签中的百分比可能会根据一个Button Click事件而发生变化。因此,标签中的百分比指定应取代GridView中的百分比列值。按百分比,金额将改变,金额将显示在“FixedTotal”标签中。 – thevan 2011-06-10 04:45:58

回答

3

Getting/Setting值gridview的细胞,你需要知道的GridView的Row Index,你可以pass row index当你从GridView控件

<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 
    ........... 
    ............. 
} 
+0

嗨Akhtar,虽然分配它显示“该对象不支持此属性”,而检索它获取“未定义”的值。 – thevan 2011-06-09 13:36:13

+0

按照答案,并尝试首先了解Javascript,它应该工作。 – 2011-06-09 13:42:08

+0

是的。我在尝试。当然。 – thevan 2011-06-09 13:45:52

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> 
相关问题