Dojo DGrid- как добавить кнопку в метку столбца?
Моя цель - создать dGrid, где каждый столбец имеет метку и кнопку рядом с меткой, называемой комментариями.
Только если slot_header!= "", Иначе мы скрываем столбец все вместе. У меня работает тайник, когда я передаю его "". Просто когда я передаю header = "HELLO", метка для столбца становится такой:
"ПРИВЕТ [Виджет dijit.form.Button, dijit_form_Button_19]" цель - "ПРИВЕТ" КЛЮЧЕВОЙ КНОПКЕ
Я использую PHP для создания экземпляра сетки, затем использую lang.hitch в renderCell для построения того, что входит в domNode, любая помощь будет принята с благодарностью
$singleStudentDetail = array(
array('field' => 'line_nbr', 'label' =>'Line', 'properties' => array('width' => $width)),
array('field' => 'skill_desc', 'label' =>'Skill', 'properties' => array('width' => $width)),
array('field' => 'display_slot_01', 'label' => 'Notes',
'properties' => array('width' => 55, 'sortable' => 'false', 'renderCell' =>
'lang.hitch(this,function(object,value,node,options){
node.innerHTML = object["grades_01"];
var myButton = new Button({
label: "Click me!",
onClick: function(){
// Do something:
alert("THIS BUTTON WORKED");
}
});
if(object["slot_headings_01"] != "")
{
studentListDetailDGridVar.columns[3].label = object["slot_headings_01"] + myButton
}
else
studentListDetailDGridVar.columns[3].hidden = true;
})'
)
));
$DgridParamsDetail = array(
"columns" => $singleStudentDetail,
"gridVar" => "studentListDetailDGridVar",
"gridDiv" => "studentListDetailDiv",
"gridProperties" => array("rowsPerPage" => 15),
"render" => true
);
1 ответ
Вам нужно вернуть domNode кнопки, а не сам виджет кнопки при использовании renderCell или renderHeaderCell.
Ниже приведен пример в javascript функции renderCell, которая возвращает кнопку.
renderCell: function(object, data, td, options) {
return new Button({
label: "Click me!",
onClick: function() {
console.log("THIS BUTTON WORKED!");
}
}).domNode;
}