contributte/datagrid – inline editace na řádku id=0

adam_frajer
Člen | 14
+
0
-

Zdravím,

mám problém s inline editací v contributte/datagrid u řádky, který má id 0.
Vrací se mi chyba Component with name '_id' does not exist..
Kód v datagrid.latte vypadá takto:

<td class="col-action col-action-inline-edit">
	{input $filter['inline_edit']['cancel'], class => 'btn btn-xs btn-danger'}
	{input $filter['inline_edit']['submit'], class => 'btn btn-xs btn-primary'}
	{input $filter['inline_edit']['_id']}
	{input $filter['inline_edit']['_primary_where_column']}
</td>

Jinak když řádku nastavím jiné id, inline editace normálně funguje, ale s id = 0 to prostě vrací chybu…
Poradíte prosím, jestli tato chyba jde nějak obejít, nebo co s tím?

edit: kód pro inline validaci vypadá takto:

 $grid->addInlineEdit()
       ->onControlAdd[] = function(\Nette\Forms\Container $container): void {
           $container->addText('name', '');
           $container->addTextArea('description', '',4,4);
       };

        $grid->getInlineEdit()->onSetDefaults[] = function(\Nette\Forms\Container $container, $item): void {
            $container->setDefaults([
           'name' => $item->name,
           'description' => $item->description,
       ]);
   };

   $grid->getInlineEdit()->onSubmit[] = function($id, \Nette\Utils\ArrayHash $values): void {
     $this->postModel->update($values, $id);
};

Editoval adam_frajer (21. 8. 2023 13:05)

Kamil Valenta
Člen | 799
+
0
-

Také jsem se s tím setkal. „Vyřešil“ jsem to tak, že jsem sám sobě rozmluvil id=0.
Skutečně ho potřebuješ? Proč?

adam_frajer
Člen | 14
+
0
-

Kamil Valenta napsal(a):

Také jsem se s tím setkal. „Vyřešil“ jsem to tak, že jsem sám sobě rozmluvil id=0.
Skutečně ho potřebuješ? Proč?

Jasné no, také možnost :D. potřeboval bych to protože používám cizí číselník, kde používá u jedné položky id=0…

Kamil Valenta
Člen | 799
+
+4
-

Cizí id si eviduj v jiném sloupci, jako externí data. Cokoliv je cizí, nemusí být validní. Ale PK si definuj sám a máš klid.

adam_frajer
Člen | 14
+
0
-

Kamil Valenta napsal(a):

Cizí id si eviduj v jiném sloupci, jako externí data. Cokoliv je cizí, nemusí být validní. Ale PK si definuj sám a máš klid.

To je dobrý nápad… díky moc!