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()'沒有工作。但請看看我的編輯,我發現可能有用。 –