2011-06-09 54 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> 
相關問題