Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Knockout.js 如何使用敲除数据表扩展更新编辑行的值?_Knockout.js - Fatal编程技术网

Knockout.js 如何使用敲除数据表扩展更新编辑行的值?

Knockout.js 如何使用敲除数据表扩展更新编辑行的值?,knockout.js,Knockout.js,Im使用knockout扩展插件在datatables中加载1000多行。Im使用map.fromjs将这些项映射到一个可观察的数组中,这确实会降低页面的初始加载速度 为了避免这种缓慢的初始加载,我尝试将可观察数组设置为只填充普通的json对象,这意味着数组中包含的1000多个对象是不可观察的 但是由于对象是不可见的,所以当在普通对象上执行版本时,在datatables网格中看不到更改,因为没有绑定。有没有办法让ui改变以适应普通编辑的json对象的新值 我甚至尝试从可观察数组中删除已编辑的对象

Im使用knockout扩展插件在datatables中加载1000多行。Im使用map.fromjs将这些项映射到一个可观察的数组中,这确实会降低页面的初始加载速度

为了避免这种缓慢的初始加载,我尝试将可观察数组设置为只填充普通的json对象,这意味着数组中包含的1000多个对象是不可观察的

但是由于对象是不可见的,所以当在普通对象上执行版本时,在datatables网格中看不到更改,因为没有绑定。有没有办法让ui改变以适应普通编辑的json对象的新值


我甚至尝试从可观察数组中删除已编辑的对象并读取它,但没有成功。

您应该将每个项目的每个可编辑属性设置为可观察。例如:

self.items = ko.observableArray(ko.utils.arrayMap(
    datasource,
    function(row){
        return {
            id: row.id,
            title: ko.observable(row.title)
        };
    }
));
不要在意成千上万的物品;这个数额不是很大


看看它是如何处理2500个对象的:

2500个对象不是很多。。。我。。。然而,我有一个项目,它试图用90000多行来做这件事,它实际上杀死了chrome。。。解决方案是服务器端分页。。。我创建了敲除绑定分页,该分页将要求每页有少量行。这些参数是在我的存储过程中处理的。您还可以用服务器端语言处理分页参数。这需要对服务器进行更多的访问,但这是值得的

这里有一些SQL代码

declare @rowCount int = 25;

Select MainSearchWithRowNumbers.*       
FROM
(SELECT
    ROW_NUMBER() OVER () As RowNumber
    ,Count(*) OVER () as TotalRows
    ,CEILING(CAST(Count(*) OVER () as FLOAT) / CAST(@rowCount as FLOAT)) AS TotalPages
    ,*
FROM
    (
     SELECT 
        -- ROW_NUMBER() OVER (ORDER BY CarcassRemovalId) AS AbsRowNumber
        Count(*) OVER () AS AbsTotalRows
        ,CEILING(CAST(Count(*) OVER () AS FLOAT) / CAST(@rowCount AS FLOAT)) AS AbsTotalPages
        ,*
     FROM YOURTABLE) 
    ) as MainSearch
) as MainSearchWithRowNumbers
WHERE
    (@page is null)
     or (
                (RowNumber <= @page * @rowCount)
            and (RowNumber > (@page - 1) * @rowCount)
    )

你知道另一种更快的map.fromjs方法吗?这会降低页面的初始加载速度,这就是为什么我想使用普通的js对象而不是可观察对象。