2017-01-05 9 views
0

У меня есть DhtmlXGrid, у которого есть кнопки Link и функция сортировки. Он работал все отлично, однако я недавно добавил splitAt() для поддержки фиксированных столбцов, после того, как эти кнопки ссылок onClick не получат вызов после нажатия на заголовки сетки для сортировки. Ниже мой код,LinkButtons DhtmlXGrid не работает после SplitAt()

function initGrid() { 
setGridSize(); 
gridMenu.setIconsPath('..'); 
gridMenu.setImagePath('..); 
gridMenu.renderAsContextMenu(); 
gridMenu.attachEvent('onClick', onButtonClick); 
gridMenu.loadXML('..'); 
grid.setIconsPath('@urlDhtmlxImages'); 
grid.setImagesPath('@urlDhtmlxImages'); 
grid.enableContextMenu(gridMenu); 
grid.attachEvent("onBeforeContextMenu", onShowMenu); 
grid.setSkin('dhx_black'); 
grid.enableColumnAutoSize(false); // Double-click header will size to fit 
// grid.attachEvent("onBeforeSorting", onBeforeSort); 
grid.attachEvent("onEditCell", onEditCell); // Edit Cell 
//grid.attachEvent("onCellMarked", onCellChanged); 
var combobox1 = grid.getCombo(4); 
combobox1.put("Yes", "Yes"); 
combobox1.put("No", "No"); 

var combobox2 = grid.getCombo(5); 
combobox2.put("Yes", "Yes"); 
combobox2.put("No", "No"); 
//grid.enableSmartRendering(true); 
//grid.attachEvent("onDhxCalendarCreated", createCalender); 
grid.init(); 
grid.splitAt(1); 
grid.load('...', FillGirdDataOnPageLoad, 'xml'); 

} 


this is how I'm calling Link actions, 
// Set up action links 
$("a.action-link[data-link-init='0']").each(function (e) { 
$(this).attr('data-link-init', '1'); 
$(this).click(function (e) { 
onActionLinkClick($(this).prop('id')); 
if (e) { e.preventDefault ? e.preventDefault() : e.returnValue = false; }; 
}); 
}); 

ответ

1
grid.attachEvent("onAfterSorting", function (index, type, direction) { 
$("a.action-link[data-link-init='1']").each(function (e) { 
$(this).click(function (e) { 
onActionLinkClick($(this).prop('id')); 
if (e) { e.preventDefault ? e.preventDefault() : e.returnValue = false; }; 
}); 
}); 
}); 
0

мне нужно настроить actionLinks снова afterSorting,

grid.attachEvent("onAfterSorting", function (index, type, direction) { 
$("a.action-link[data-link-init='1']").each(function (e) { 
$(this).click(function (e) { 
onActionLinkClick($(this).prop('id')); 
if (e) { e.preventDefault ? e.preventDefault() : e.returnValue = false; }; 
}); 
}); 
}); 

Это работает для меня.