0
我有一个Kendo UI网格,有三列,第一列是复选框,另外两列是文本。我遇到的问题是复选框渲染速度变慢。当网格呈现并且数据填充得非常快时,我必须等待几秒钟以使复选框呈现。而且我在等待,我可以看到,在复选框呈现之前,列中有数字。我正在考虑将其转换,以便使用JavaScript代码创建它,以查看它是否会更快。是否有人看到我的代码会导致渲染速度变慢或性能改善,或者在javascript中执行操作会更快。Kendo Ui ASP网格渲染速度慢
<td id="typeGrid">
@(Html.Kendo().Grid(Model.TypeList)
.Name("TypeList")
.Columns(columns =>
{
columns.Bound("myID").Sortable(false).Width("35px")
.ClientTemplate("<input type='checkbox' name='typeId' value=#=myID#>")
.Title("<input type='checkbox' onclick='checkAll(event)'>");
columns.Bound("Name").Title("Name");
columns.Bound("Type").Title("Type");
})
.Sortable()
.Resizable(resize => resize.Columns(true))
.Selectable(select => select.Mode(GridSelectionMode.Multiple))
.DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(false)
)
)
</td>
编辑
经检验接近我注意到,从模板输入复选框未渲染,直到我的下拉框是渲染。在投递箱被渲染之前,投递箱渲染是否会导致模板不能被应用?他们都使用相同的对象。
<td id="PermType" style="vertical-align: top;">
@(Html.Kendo().DropDownList()
.Name("theTypeList")
.DataTextField("Type Name")
.DataValueField("myTypeID")
.BindTo(Model.myTypeList) )
</td>
// the code above for the grid goes after this
我的模型
public class myModel
{
public List<subType> TypeList { get; set; }
public List<mainType> myTypeList { get; set; }
public class subType
{
public int myID { get; set; }
public string Name { get; set; }
public string Type { get; set; }
public int mainTypeID { get; set; }
}
public class mainType
{
public string myTypeID { get; set; }
//other property
}
}
我试着将它改为'Server()',并试图完全删除'DataSource',并且得到错误'没有指定DataSource Model Id属性。' –
@JackThor我更新了一个想法的答案。 –
对不起,我应该澄清一下,错误所指的模型Id不是我模型中的id,我模型中的id被称为别的东西,我只是为了安全原因而将它改变。我修复了我的代码以更好地反映这一点。数据源没有'Model'。我也删除了'Selectable()'没有工作。但请看看我的编辑,我发现可能有用。 –