我正在尝试创建包含用户只能输入数值的 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,因为我想使用它的一些功能。