在我的一個ASP.NET Web應用程序中,我使用BulkEditGridView(一個允許同時編輯所有行的GridView)來實現訂單。在我的網格中,我有一列計算每個項目的總數(成本x數量)和頁面底部的總計字段。然而,目前,這些字段僅在每個回傳後更新。我需要動態更新這些字段,以便隨着用戶更改數量,總計和總計更新將反映新值。我曾嘗試使用AJAX解決方案來完成此任務,但異步後備功能會干擾頁面上的焦點。我想像一個純粹的客戶端解決方案存在,我希望社區中的某個人可以分享。在ASP.NET中總計GridView
2
A
回答
3
如果你的計算可以在JavaScript中最簡單的方法將使用jQuery來得到所有這樣的項目被複制:
$("#myGridView input[type='text']").each(function(){
this.change(function(){
updateTotal(this.value);
});
});
或者,如果您的計算方式太複雜而無法在JavaScript中完成(或時間限制阻止),那麼AJAX調用Web服務是最好的方法。比方說,我們有我們的Web服務是這樣的:
[WebMethod, ScriptMethod]
public int UpdateTotal(int currTotal, int changedValue){
// do stuff, then return
}
你需要一些JavaScript調用web服務,您可以用jQuery或MS AJAX做到這一點。我將展示兩者的組合,只是爲了好玩:
$("#myGridView input[type='text']").each(function(){
this.change(function(){
Sys.Net.WebServiceProxy.invoke(
"/Helpers.asmx",
"UpdateTotal",
false,
{ currTotal: $get('totalField').innerHTML, changedValue: this.value },
showNewTotal
);
});
});
function showNewTotal(res){
$get('totalField').innerHTML = res;
}
看看這個鏈接,就Sys.Net.WebServiceProxy.invoke方法充分信息:http://www.asp.net/AJAX/Documentation/Live/ClientReference/Sys.Net/WebServiceProxyClass/WebServiceProxyInvokeMethod.aspx
1
一種解決方案是在您的RowDataBound方法中構建一些JavaScript,以便在文本框更改時不斷更新這些總計。
因此,在RowDataBound期間,開始在內存中生成一個JavaScript字符串,它將添加您需要添加的文本框。 RowDataBound的好處在於您可以通過調用TextBox.ClientId來獲取這些文本框的客戶端ID。 將此javascript添加到頁面,然後將一個onkeyup事件添加到您需要調用此腳本的每個文本框。
因此,像(這是一個gridview行綁定的事件)
private string _jscript;
protected void gridview_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//Get your textbox
Textbox tb = e.Row.FindControl("tbAddUp");
//Add the event that you're going to call to this textbox's attributes
tb.Attributes.Add("onkeyup", "MyAddUpJavaScriptMethod();");
//Build the javascript for the MyAddUpJavaScriptMethod
jscript += "document.getElementById('" + tb.ClientId + '").value + ";
}
}
然後,一旦你已經建立了完整的腳本,用你的Page.ClientScript類的方法添加到您頁面,它將被你的onkeyup在你的文本框被稱爲「MyAddUpJavaScriptMethod」
希望是有道理的,並有助於
相關問題
- 1. 在asp.net Gridview中計算運行總數
- 2. 在gridview中計算總數
- 3. 我怎樣才能計算在GridView的總價格在ASP.NET中
- 4. 在gridview中計算總的鏈接按鈕文本asp.net
- 5. 使用jquery在gridview中計算行總數和總計
- 6. 在Yii2 gridview中累計/運行總數
- 7. 在Gridview中計算總價格
- 8. 從gridview獲取總計
- 9. 是否有可能在第二個gridview中計算總計?
- 10. 在asp.net中計算總文件夾
- 11. 總結在GridView
- 12. 試圖在asp中總gridview
- 13. Gridview列/行的總和ASP.NET C#
- 14. 在asp.net中獲取未綁定數據列的總和Gridview
- 15. PageIndexChanging在ASP.NET中的GridView中
- 16. C#asp.net GridView的導航在GridView中排
- 17. 來自兩個gridview 1和gridview 2的總和標籤asp.net
- 18. GridView中的ASP.NET
- 19. ASP.NET中的GRIDVIEW
- 20. asp.net dropdownlist在gridview
- 21. Asp.Net:在GridView的
- 22. Rad Gridview?在asp.net?
- 23. 的GridView在asp.net
- 24. 計算ASP.NET MVC中的總髮貨
- 25. 關於在asp.net中的GridView
- 26. 在ASP.NET Gridview中排序
- 27. 在asp.net中排序gridview列
- 28. 在GridView + Asp.net中排序
- 29. 在GridView Asp.Net中使用Dropdownlist?
- 30. 在asp.net中創建GridView MVC3.0