【发布时间】:2017-01-03 06:35:20
【问题描述】:
我想浏览 Kendo-Grid 上的行。我有 4 个按钮,第一个、上一个、下一个和最后一个。单击该按钮时,它将突出显示 Kendo-Grid 中的记录。我不确定如何实现这一目标。我可以在单击按钮上获取行索引,但我不能让 Kendo-Grid 突出显示该行并提取要在文本框中显示的记录。这是我的一些代码:
正在查看
<div>
<button id="reg-view-first" title="First" class="menu-item supplementary-table-menu k-grid-add" onclick="javascript:first();">
<img src="@Url.Content("~/Images/first_16.png")" /></button>
<button id="reg-view-back" title="Back" class="menu-item supplementary-table-menu k-grid-add" onclick="javascript:back();">
<img src="@Url.Content("~/Images/back_16.png")" /></button>
<button id="reg-view-next" title="Next" class="menu-item supplementary-table-menu" onclick="javascript:next();">
<img src="@Url.Content("~/Images/forward_16.png")" /></button>
<button id="reg-view-prev" title="Last" class="menu-item supplementary-table-menu" onclick="javascript:last();">
<img src="@Url.Content("~/Images/last_16.png")" /></button>
</div>
function last() {
var grid = $("#queue-table").data("kendoGrid");
//var rowCount = grid.dataSource.view().length; //on current display.
var rowCount = grid.dataSource.data().length; //Actual record count.
var itemID = grid.dataSource.at(rowCount - 1).ItemID
grid.clearSelection();
var row = $(this).closest("tr");
var dataItem = grid.dataItem(row);
row.addClass("k-state-selected");
//grid.select(itemID);
//alert(itemID);
}
function back() {
var grid = $("#queue-table").data("kendoGrid"); //document.getElementsByName("queue-table");
if (grid != null || grid != "undefined")
{
//get the selected index.
var dataRows = grid.items();
var rowIndex = dataRows.index(grid.select());
//alert(rowIndex);
var dataItem = grid.dataItem(grid.select());
//var itemID = grid.columns[0].field;
var itemID = grid.dataSource.at(1).ItemID;
grid.select("tr[data-uid='" + itemID + "']");
var newRow = dataRows.index(grid.select());
newRow.addClass("k-state-selected");
//assign the new selected index
//var newIndex = 0;
//if (rowIndex > 0)
//{
// newIndex = rowIndex - 1
//}
//alert(newIndex);
}
我是剑道新手,已经花了几个小时弄清楚该怎么做。
【问题讨论】:
-
if (grid != null || grid != "undefined")这一行的条件不正确。grid != "undefined"不检查网格是否为undefined,但是否为字符串“未定义”。您应该删除引号。此外,您可能想检查两个条件是否为真,而不是其中一个,因此将||更改为&&也是一个好主意。在这个if中做你想做的最简单的方法是if (grid)。这将确保网格既不是null也不是undefined。 -
嗨,Shai,HTanks。你说得对,应该是&&。两个条件都应该满足。会试试这个。
标签: javascript jquery jquery-ui kendo-ui kendo-grid