C# 对HTML表格单元格重新排序

C# 对HTML表格单元格重新排序,c#,javascript,jquery,asp.net,json,C#,Javascript,Jquery,Asp.net,Json,我有一个ASP.NET页面,其中显示一个表,其中每个单元格表示一个对象。这个对象是由C#中的代码生成的,通过JSON发送到页面,Javascript函数读取每个对象并生成一个HTML单元格,显示其中对象的属性 我为每个案例定义了行和列数量。例如,如果我的对象总数为20,则列数为4,行数为5 每个对象都有一个数字标识符,从1到20,如示例所示。对象在表格上从左到右逐行填充,形成如下网格: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

我有一个ASP.NET页面,其中显示一个表,其中每个单元格表示一个对象。这个对象是由C#中的代码生成的,通过JSON发送到页面,Javascript函数读取每个对象并生成一个HTML单元格,显示其中对象的属性

我为每个案例定义了行和列数量。例如,如果我的对象总数为20,则列数为4,行数为5

每个对象都有一个数字标识符,从1到20,如示例所示。对象在表格上从左到右逐行填充,形成如下网格:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 18 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 18 20 对象具有以下结构:

public class AreaData { public string AreaId; public int Rows; public int Columns; public int TotalCells; public bool Orientation; public List Cells; } public class CellData { public string CellName; public int CellNumber; } 公共类区域数据 { 公共字符串区域ID; 公共int行; 公共int列; 公共细胞; 公共利益导向; 公共列表单元格; } 公共类单元数据 { 公共字符串CellName; 公共电话号码; } 构成表格的Javascript函数的基本轮廓如下:

function ReturnGrid(object, settings) {
    var objId = settings["objId"];
    var objName = settings["objName"];
    if ((settings["columns"] * settings["rows"]) == object[objName].length) {
        var table = CreateFullElement("table", "id", "Table" + object[objId], "class", settings["styles"]["table_css"], "style", settings["styles"]["table_style"]);
        var tableBody = document.createElement("tbody");
        var index = 0;
        for (var j = 0; j < settings["rows"]; j++) {
            var tableRow = document.createElement("tr");
            for (var i = 0; i < settings["columns"]; i++) {
                var tableCell = CreateFullElement("td", "id", "CellName-" + object[objName][index]["CellName"], "title", object[objName][index]["CellName"], "style", settings["styles"]["td_style"]);
                object[objName][index]["ServiceTag"] = object[objName][index]["ServiceTag"].toUpperCase();
                var cellContainer;
                cellContainer = CreateFullElement("div", "id", object[objName][index]["CellName"], "class", settings["classes"]["cellContent_css"], "style", cellContent_style + "background-color:" + settings["deviceStatusColors"][object[objName][index]["DeviceStatus"]]+";");

                var cellNumText = document.createTextNode(object[objName][index]["CellNumber"]);
                cellNumContainer = CreateFullElement("div", "class", settings["classes"]["cellNumContent_css"], "style", cellNumContent_style + textcolor_Style);
                cellNumContainer.appendChild(cellNumText);
                tableCell.appendChild(cellContainer);
                tableRow.appendChild(tableCell);
                index++;
            }
        tableBody.appendChild(tableRow);
    }
        table.appendChild(tableBody);
        return table;
    }
    else {
    console.log("The values of rows and columns does not match with the length of the object");
    }
}
函数返回网格(对象、设置){
var objId=设置[“objId”];
var objName=设置[“objName”];
if((设置[“列”]*设置[“行”])==object[objName].length){
var table=CreateFullElement(“表格”、“id”、“表格”+对象[objId]、“类”、设置[“样式”][“表格样式”]、“样式”、设置[“样式”][“表格样式”]);
var tableBody=document.createElement(“tbody”);
var指数=0;
对于(var j=0;j
但是,我想根据两个条件重新排列该网格:

1) 从上到下填充网格

1 6 11 16 2 7 12 17 3 8 13 18 4 9 14 19 5 10 15 20 1 6 11 16 2 7 12 17 3 8 13 18 4 9 14 19 5 10 15 20 2) 如果需要,将网格作为镜像填充

16 11 6 1 17 12 7 2 18 13 8 3 19 14 9 4 20 15 10 5 16 11 6 1 17 12 7 2 18 13 8 3 19 14 9 4 20 15 10 5 有没有办法用Javascript实现这个功能,Jquery已经实现了这个功能?或者我必须在将对象字符串化为JSON之前对其进行排序吗

提前谢谢