Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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
Asp.net mvc 加载时在剑道网格中插入多行,不带for循环_Asp.net Mvc_Kendo Grid - Fatal编程技术网

Asp.net mvc 加载时在剑道网格中插入多行,不带for循环

Asp.net mvc 加载时在剑道网格中插入多行,不带for循环,asp.net-mvc,kendo-grid,Asp.net Mvc,Kendo Grid,我需要在剑道网格中显示100个空行,如图所示,不使用for循环 我试过这个:- $(document).ready(function () { var grid = $("#AlertRowGrid").data("kendoGrid"); var datasource = grid.dataSource; for (i = 0; i < 100; i++) { datasource.add({ PhoneNumber

我需要在剑道网格中显示100个空行,如图所示,不使用for循环

我试过这个:-

$(document).ready(function () {
        var grid = $("#AlertRowGrid").data("kendoGrid");
        var datasource = grid.dataSource;
        for (i = 0; i < 100; i++) {
            datasource.add({ PhoneNumber: '', Field1: '', Field2: '', Field3: '', Field4: '', Field5: '', Field6: '', Field7: '', Field8: '', Field9: '', Field10: '' });
        }            
    });
$(文档).ready(函数(){
var grid=$(“#AlertRowGrid”).data(“kendoGrid”);
var datasource=grid.datasource;
对于(i=0;i<100;i++){
数据源。添加({PhoneNumber:'',Field1:'',Field2:'',Field3:'',Field4:'',Field5:'',Field6:'',Field7:'',Field8:'',Field9:'',Field10:'');
}            
});
但是使用for循环会消耗大量的加载时间,所以除了for循环之外,还有什么更好的选项可以在剑道网格中显示多行呢

我的表格如下:-

@(Html.Kendo().Grid<SCC.Business.Models.Point_of_Service.Custom.SendAlertsDataModel>()
.Name("AlertRowGrid")
.Columns(columns =>
{
columns.Bound(c => c.PhoneNumber).ClientTemplate("<input type='text' value='#:PhoneNumber#' id='Phone' maxlength='12' onchange = EditGridRow(this) placeholder = '000-000-0000' class='MaskPhone'/>").Title(General.PhoneNumber).Width("10%").HtmlAttributes(new { @class = "PhoneNumber" });
columns.Bound(c => c.Field1).ClientTemplate("<input type='text' value='#:Field1#' id='Field1' maxlength='100' onchange = EditGridRow(this) />").Title(PointOfService.SendAlert_Field1).Width("10%").HtmlAttributes(new { @class = "Field1" });
columns.Bound(c => c.Field2).ClientTemplate("<input type='text' value='#:Field2#' id='Field2' maxlength='100' onchange = EditGridRow(this) />").Title(PointOfService.SendAlert_Field2).Width("10%").HtmlAttributes(new { @class = "Field2" });
columns.Bound(c => c.Field3).ClientTemplate("<input type='text' value='#:Field3#' id='Field3' maxlength='100' onchange = EditGridRow(this) />").Title(PointOfService.SendAlert_Field3).Width("10%").HtmlAttributes(new { @class = "Field3" });
columns.Bound(c => c.Field4).ClientTemplate("<input type='text' value='#:Field4#' id='Field4' maxlength='100' onchange = EditGridRow(this) />").Title(PointOfService.SendAlert_Field4).Width("10%").HtmlAttributes(new { @class = "Field4" });
columns.Bound(c => c.Field5).ClientTemplate("<input type='text' value='#:Field5#' id='Field5' maxlength='100' onchange = EditGridRow(this) />").Title(PointOfService.SendAlert_Field5).Width("10%").HtmlAttributes(new { @class = "Field5" });
columns.Bound(c => c.Field6).ClientTemplate("<input type='text' value='#:Field4#' id='Field4' maxlength='100' onchange = EditGridRow(this) />").Title(PointOfService.SendAlert_Field6).Width("10%").HtmlAttributes(new { @class = "Field6" });
columns.Bound(c => c.Field7).ClientTemplate("<input type='text' value='#:Field7#' id='Field7' maxlength='100' onchange = EditGridRow(this) />").Title(PointOfService.SendAlert_Field4).Width("10%").HtmlAttributes(new { @class = "Field7" });
columns.Bound(c => c.Field8).ClientTemplate("<input type='text' value='#:Field8#' id='Field8' maxlength='100' onchange = EditGridRow(this) />").Title(PointOfService.SendAlert_Field8).Width("10%").HtmlAttributes(new { @class = "Field8" });
columns.Bound(c => c.Field4).ClientTemplate("<input type='text' value='#:Field9#' id='Field9' maxlength='100' onchange = EditGridRow(this) />").Title(PointOfService.SendAlert_Field9).Width("10%").HtmlAttributes(new { @class = "Field9" });
columns.Bound(c => c.Field10).ClientTemplate("<input type='text' value='#:Field10#' id='Field10' maxlength='100' onchange = EditGridRow(this) />").Title(PointOfService.SendAlert_Field4).Width("10%").HtmlAttributes(new { @class = "Field10" });
}).Scrollable(x => x.Height(400)).Events(e => e.DataBound("onDataBound"))    
)
@(Html.Kendo().Grid())
.Name(“AlertRowGrid”)
.列(列=>
{
columns.Bound(c=>c.PhoneNumber).ClientTemplate(“”).Title(General.PhoneNumber).Width(“10%”).HtmlAttributes(new{@class=“PhoneNumber”});
columns.Bound(c=>c.Field1).ClientTemplate(“”).Title(PointOfService.SendAlert_Field1).Width(“10%”).HtmlAttributes(new{@class=“Field1”});
columns.Bound(c=>c.Field2).ClientTemplate(“”).Title(PointOfService.SendAlert_Field2).Width(“10%”).HtmlAttributes(new{@class=“Field2”});
columns.Bound(c=>c.Field3).ClientTemplate(“”).Title(PointOfService.SendAlert_Field3).Width(“10%”).HtmlAttributes(new{@class=“Field3”});
columns.Bound(c=>c.Field4).ClientTemplate(“”).Title(PointOfService.SendAlert_Field4).Width(“10%”).HtmlAttributes(new{@class=“Field4”});
columns.Bound(c=>c.Field5).ClientTemplate(“”).Title(PointOfService.SendAlert_Field5).Width(“10%”).HtmlAttributes(new{@class=“Field5”});
columns.Bound(c=>c.Field6).ClientTemplate(“”).Title(PointOfService.SendAlert_Field6).Width(“10%”).HtmlAttributes(new{@class=“Field6”});
columns.Bound(c=>c.Field7).ClientTemplate(“”).Title(PointOfService.SendAlert_Field4).Width(“10%”).HtmlAttributes(new{@class=“Field7”});
columns.Bound(c=>c.Field8).ClientTemplate(“”).Title(PointOfService.SendAlert_Field8).Width(“10%”).HtmlAttributes(new{@class=“Field8”});
columns.Bound(c=>c.Field4).ClientTemplate(“”).Title(PointOfService.SendAlert_Field9).Width(“10%”).HtmlAttributes(new{@class=“Field9”});
columns.Bound(c=>c.Field10).ClientTemplate(“”).Title(PointOfService.SendAlert_Field4).Width(“10%”).HtmlAttributes(new{@class=“Field10”});
}).Scrollable(x=>x.Height(400)).Events(e=>e.DataBound(“onDataBound”))
)

非常感谢您的帮助。

每次更新网格的数据源时,它都会刷新。我已更改了您的代码,以便首先构建数据源,然后将其分配给网格:

$(文档).ready(函数(){
console.log(“S:+newdate());
var数据=[];
对于(变量i=0;i<100;i++){
推送({PhoneNumber:'',Field1:'',Field2:'',Field3:'',Field4:'',Field5:'',Field6:'',Field7:'',Field8:'',Field9:'',Field10:''});
}
var dataSource=new kendo.data.dataSource({
数据:数据
});
var grid=$(“#AlertRowGrid”).getKendoGrid();
setDataSource(数据源);
grid.dataSource.read();
console.log(“E:+newdate());
});
根据需要,不需要手动重新加载数据源。但是没有它,它就不起作用


你的代码在我的机器上花了5秒钟。现在不到一秒钟。

我想说这不是循环,而是您希望浏览器呈现的内容:1100个输入字段相当多。我们现在讨论什么时候加载电网?2秒?20? 一分钟?@CarstenFranke加载大约需要10秒,这相当多。所以我需要另一种方法来渲染我所有的空字段。