1
我有每一行模塊細節劍道網格,我要的是點擊一排按鈕時交換兩個對象的值。 例如:名稱爲「Activity1」的對象的訂單號爲「1」 名稱爲「Activity2」的對象的訂單號爲「2」如何在單擊第一行中的按鈕時獲取下一行的對象詳細信息?
我想在交換訂單的行1上按下按鈕數字,因此活動1的訂單號爲「2」,活動2的訂單號爲「1」。
我能得到該行的對象的細節壓上,並改變它,因爲我想要的東西,但我沒能獲得下一行的細節來改變它爲好,任何幫助嗎?
代碼:
@(Html.Kendo().Grid<WEB02.ConfigurationModel.TestGrid>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(o => o.Name).Width(110);
columns.Bound(o => o.Type).Width(130);
columns.Command(command => {command.Destroy();
command.Custom("Higher Order").Click("HigherOrder");
});
})
.Sortable()
.Scrollable(scrollable => scrollable.Virtual(true))
.Selectable(selectable => selectable
.Mode(GridSelectionMode.Multiple))
.HtmlAttributes(new { style = "height:430px;" })
.DataSource(dataSource => dataSource
.Ajax()
.Model(model => model.Id(p => p.Name))
.PageSize(100)
.Read(read => read.Action("ActivityGrid", "Configuration"))
.Destroy("TestDelete", "Configuration")
.Events(events => events.Sync("sync_handler"))
)
.Pageable(pageable => pageable
.Refresh(true))
)
功能
function HigherOrder(e) {
var tr = $(e.target).closest("tr"); // get the current table row (tr)
var item = this.dataItem(tr);
// get the date of this row
//console.log(item);
console.log(item.NodeId);
console.log(item.Type);
console.log(item);
var newOrder= parseInt(item.ActivOrderNo)+1;
var params = {
nodeID: item.NodeId + ".CONFIG.OrderNumber",
write: newOrder
};
console.log(newOrder);
var temp = {
url: "/Configuration/WriteAttribute",
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: JSON.stringify(params),
success: function (params) {
window.location.replace(params.redirect);
}
};
$.ajax(temp);
我認爲它會工作,但現在它是給我的一個錯誤劍道電網。 Uncaught TypeError:無法讀取未定義的屬性'值'。有任何想法嗎 ? – KamalF
也許這是由錯誤的選擇器造成的。更新我的答案。 –
其實舊選擇器是正確的,我不得不把它的可選部分工作(檢查更新的問題)。但現在我有另一個問題,選定的rowIndex似乎總是-1,而不是行的細節! – KamalF