javascript - 在asp.net Listview中添加自动计算求和行和列

标签 javascript asp.net listview textbox devexpress

我正在尝试创建包含 ASPxTextBox 的 ListView,用户只能输入数字值。有许多行和列的数据。我想添加新的行和列来计算每行和列的总值

例如,如果我有这样的数据:

学生姓名|主题1 |主题2 |主题3
-------------------------------------------------- --------
约翰 ---------- | ------- 23 | --------45 | --------37
史密斯 ---------- | ------- 41 | --------22 | --------11
琳达 ---------- | ------- 35 | --------38 | --------23

我也想成为这样的人

学生姓名|主题1 |主题2 |主题3 |总计
-------------------------------------------------- ----------------
约翰 ---------- | ------- 23 | --------45 | --------37 | 105
史密斯 ---------- | ------- 41 | --------22 | --------11 | --74
琳达 ---------- | ------- 35 | --------38 | --------23 | --96
-------------------------------------------------- ----------------
总计---------- | --------99 | --------105| --------71 | 275

列数(主题)是固定的,但行数取决于数据库中的数据。

这里有两个主要问题:
1.我希望求和行和列使用javascript在客户端执行计算。因此,当其中一个文本框失去焦点时,它将重新计算每一行和每一列的求和值。
2. 我无法使用 javascript 访问 ASPxTextBox 中的值。我尝试使用:

var test = document.getElementById('<%# Container.FindControl("txt_Subject1").ClientID %>')
var data = test.value;

但似乎不起作用。

以下代码也会导致错误:

var test = document.getElementById('<%# Container.FindControl("txt_Subject1").ClientID %>')    
var data = test.GetValue();

当我尝试 ClientInstanceName 时,它​​总是仅返回最后一行的值:

var data = txt_Subject1.GetValue(); //doesn't work?

另外,我不想将 ASPxTextBox 更改为 asp TextBox,因为我想使用它的一些功能。

最佳答案

您可以根据行号动态分配 ClientInstanceName 值:

txt_Subject1_1
txt_Subject1_2
...
txt_Subject1_n

然后使用javascript计算总和:

var sum = 0;
for (var i = 1; i <= rowCount; i++) 
{
    sum += parseInt(window['txt_Subject1_' + i].GetValue());
}

关于javascript - 在asp.net Listview中添加自动计算求和行和列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12598635/

相关文章:

asp.net - 无效的 JSON 基元

c# - session 过期并抛出异常

c# - 表单数据电子邮件

javascript - 如何从 JS 数组创建 JS 对象?

Javascript 类,事件监听器中的 var 未定义

javascript - JSON.Parse 在 Faker.js 中将字符串解析为 JSOn 时在位置 0 处显示错误

javascript - KineticJS onFrame 缓慢且不稳定

android - 如何为我的 ListView 中的 ListContents 设置不同的语言

java - Wicket:ListView - 跳过一个项目

python - 代码中的 QML ListView 部分