2016-11-20 10 views
3

我在我的Nette項目中使用datagrid Ublaboo \ Datagrid。 這個DataGrid是超級的,但我有一個從組件到演示者的ID問題。ublaboo datagridd從拿鐵到演示者獲取ID

我有show.latte,即獲得ID在演講

public function renderShow($id = null) {} 

這是OK renderShow方法。

而我有show.latte表格列表與datagrid。

<div class="table-responsive"> 
     {control fileList} 
    </div> 

主持人:

public function createComponentFileList($name) { 
    // return factory method 
    return $grid 
} 

我如何從show.latte ID行主持人?

回答

1

由於演示者方法在呈現視圖之前執行,您無法將視圖(Latte)中的信息發送給演示者。

你需要這個ID爲什麼?哪個id:renderShow($id = null)已經知道$id了。

您可以通過組件的方法render()通過$control->parent/$control->presenter將組件的信息發送給演示者。但是,從你的問題來看,並不清楚你的意思。你似乎沒有通過$id從模板fileList:render(){control fileList}。此外,在這一點上,主持人的行動/渲染方法已經執行,所以我不知道你想用這個ID做什麼。

您可能在您的問題中將「演示者」與「組件」混淆在一起。你說renderShow()在主講人中,但你問如何將ID從組件傳遞給演示者。

「我有show.latte獲得ID renderShow」不是一個語法正確的句子。這又增添了一層混亂。