通过单击列';使用javascript的头文件
我需要帮助来创建一个javascript函数,该函数允许我通过单击列标题对列(表)进行排序。该列包含8位数字和多行。我需要先对其进行升序排序,然后进行降序,并进行验证,以确保排序工作正常,并记录每种排序的结果 我正在使用TestComplete和javascript脚本 验证示例: //验证排序功能通过单击列';使用javascript的头文件,javascript,sorting,testcomplete,Javascript,Sorting,Testcomplete,我需要帮助来创建一个javascript函数,该函数允许我通过单击列标题对列(表)进行排序。该列包含8位数字和多行。我需要先对其进行升序排序,然后进行降序,并进行验证,以确保排序工作正常,并记录每种排序的结果 我正在使用TestComplete和javascript脚本 验证示例: //验证排序功能 for (var k = 0; i < records.length; k++) { if(column[k] != column_sorted[
for (var k = 0; i < records.length; k++)
{
if(column[k] != column_sorted[k])
Log.Warning("Sort functionality does not work for the column")
break;
}
Log.Checkpoint("Sort functionality works for the column")
Log.Message(column_sorted[k].contentText);
for(var k=0;i
谢谢你的帮助 这是一项艰巨的任务。为此,您可能需要使用一个库,例如TableSorter:一个简单的表分类器并不是那么难。诀窍在于获得正确的排序函数,其余的则相当简单。下面显示了如何使用一列数字对表进行排序,以及添加到表中的功能有多少 一些测试HTML:
<table id="t0">
<tr><td>44444444
<tr><td>66666666
<tr><td>33333333
<tr><td>77777777
<tr><td>11111111
<tr><td>55555555
<tr><td>22222222
</table>
<button onclick="sortRows(document.getElementById('t0'));">Sort</button>
<button onclick="sortRows(document.getElementById('t0'), true);">Sort reverse</button>
44444444
66666666
33333333
77777777
11111111
55555555
22222222
分类
反向排序
和脚本
// Sort table rows by the first cell (index 0)
// Setting reverse to true sorts in reverse
function sortRows(table, reverse) {
// Get the rows, this gets all rows in a table but can be
// restricted to those within a table section
var row, rows = table.rows;
var cells = [];
reverse = !!reverse;
// Get cells to sort and load into array
// Gets the first cell in each row, but could use the cell index
// of a header cell that was clicked on
for (var i=0, iLen=rows.length; i<iLen; i++) {
cells.push(rows[i].cells[0]);
}
// Sort the cells as numbers
// or any other sort algorithm (e.g. date, alphabetic, etc.)
cells.sort(function(a, b) {
return getText(a) - getText(b);
});
// Reverse if required
if (reverse) cells.reverse();
// Order rows based on new order of cells
// This works within a table section, making it easy to exclude
// header and footer rows
for (var j=0, jLen=cells.length; j<jLen; j++) {
row = cells[j].parentNode;
row.parentNode.appendChild(row);
}
}
// A simple helper as textContent is not supported by all browsers in use
// Can be much more sophisticated and trim whitespace
function getText(el) {
return el.textContent || el.innerText || '';
}
//按第一个单元格(索引0)对表行进行排序
//将reverse设置为true将反向排序
函数sortRows(表,反向){
//获取行,这将获取表中的所有行,但可以
//仅限于表节中的内容
变量行,行=table.rows;
var单元格=[];
反向=!!反向;
//让单元格排序并加载到数组中
//获取每行中的第一个单元格,但可以使用单元格索引
//单击的标题单元格的名称
对于(var i=0,iLen=rows.length;i如果已经将列的值放入数组,则可以简单地使用JScript方法对该数组进行升序排序。如果需要执行降序排序,则需要使用简单的自定义排序函数
function test()
{
var records = new Array();
records.push(92749283);
records.push(47932729);
records.push(12309334);
records.push(84932889);
Log.Message("Ascending");
records.sort();
for (var i = 0; i < records.length; i++)
Log.Message(records[i]);
Log.Message("Descending");
records.sort(sortDesc);
for (var i = 0; i < records.length; i++)
Log.Message(records[i]);
}
function sortDesc(a, b)
{
if (a > b) return -1;
if (a < b) return 1;
return 0;
}
功能测试()
{
var记录=新数组();
记录.推送(92749283);
记录:推送(47932729);
记录.推送(12309334);
纪录.推送(84932889);;
日志消息(“升序”);
records.sort();
对于(var i=0;ib)返回-1;
如果(a
这是家庭作业还是什么?有很多框架和现成的服务器控件可以为您解决这个问题。或者如果您使用的是.Net GridView服务器控件。@Seano666为什么要提到.Net?问题或标记中没有指定它。您是否尝试在TestComplete中记录您的操作?对于其他人:这个问题不是不是关于浏览器中的JavaScript,而是关于使用TestComplete的自动化web测试(GUI自动化)。