[ublaboo/datagrid] Úprava stránkování dle ID

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
jAkErCZ
Člen | 322
+
0
-

Zdravím chci se zeptat využívám vyhledávání dle ID a to se pak přenáší do dalšího gridu a v něm se dle toho ID které získalo vypíši informace co potřebuji a to v reálném čase a to stejné že když přidám nový řádek tak sem si zřídil že mi to reloadne a zůstane stále načtený ten grid s tím ID

$p['webPagesIDGrid']->setDataSource($p->companyManager->getComponiesWebPages($values->CompanyID));
$p['webPagesIDGrid']->redrawControl();

Jenže teď jsem narazil na problém že když je na daném ID více položek tak se vytvoří stránkování což je v pořádku ale když kliknu na další stránku tak se mi grid načte defaultní hodnotu což je NULL ale já potřebuji aby si nechal stále to ID tak jak jsem psal výše u přidávání řádku… Tak se chci zeptat zda-li se to dá udělat nejak jednoduše jak třeba to přidávání kde sem si přidal 2 řádky a funguje to… nebo musím hlouběji do gridu?

Díky

Zuben45
Člen | 268
+
0
-

Nejspíš se ti to id nepřenáší do dalších stránek, nastav ho na persistentní, a mělo by to fungovat.

jAkErCZ
Člen | 322
+
0
-

Zuben45 napsal(a):

Nejspíš se ti to id nepřenáší do dalších stránek, nastav ho na persistentní, a mělo by to fungovat.

@Zuben45

Tak to „persistentní“ jsem nikdy neslyšel… ale ano máš pravdu do dalších se nepřenáší ale jak udělám to „persistentní“

:D :D

Zuben45
Člen | 268
+
0
-

například takto:

class HomepagePresenter extends BasePresenter
{
	/** @persistent */
	public $id;
}
jAkErCZ
Člen | 322
+
0
-

Zuben45 napsal(a):

například takto:

class HomepagePresenter extends BasePresenter
{
	/** @persistent */
	public $id;
}

@Zuben45

Ale já to takto mám… :D

/** @var WebPageID Instance třídy pro práci s ID. */
   private $WebPageID;

ale i tak když dám jinou stránku tak nic…

Zuben45
Člen | 268
+
0
-

jAkErCZ napsal(a):

Zuben45 napsal(a):

například takto:

class HomepagePresenter extends BasePresenter
{
	/** @persistent */
	public $id;
}

@Zuben45

Ale já to takto mám… :D

/** @var WebPageID Instance třídy pro práci s ID. */
   private $WebPageID;

ale i tak když dám jinou stránku tak nic…

vůbec jsi nepochopil podstatu, musíš použít

@persistent
jAkErCZ
Člen | 322
+
0
-

Zuben45 napsal(a):

jAkErCZ napsal(a):

Zuben45 napsal(a):

například takto:

class HomepagePresenter extends BasePresenter
{
	/** @persistent */
	public $id;
}

@Zuben45

Ale já to takto mám… :D

/** @var WebPageID Instance třídy pro práci s ID. */
   private $WebPageID;

ale i tak když dám jinou stránku tak nic…

vůbec jsi nepochopil podstatu, musíš použít

@persistent

@Zuben45
Takže místo

private $WebPageID;

mám použít

public $WebPageID;

Nebo i tak musí být $ID?

P.S a i když jsem zkusil použít jak $ID tak $WebPageID tak když vejdu na jinou stránku v gridu opět nic..

Editoval jAkErCZ (29. 6. 2017 12:22)

Zuben45
Člen | 268
+
+1
-

jAkErCZ napsal(a):

@Zuben45
Takže místo

private $WebPageID;

mám použít

public $WebPageID;

Nebo i tak musí být $ID?

P.S a i když jsem zkusil použít jak $ID tak $WebPageID tak když vejdu na jinou stránku v gridu opět nic..

Pročti si dokumentaci https://doc.nette.org/…n/presenters#…

Editoval Zuben45 (29. 6. 2017 12:24)

jAkErCZ
Člen | 322
+
0
-

Zuben45 napsal(a):

jAkErCZ napsal(a):

@Zuben45
Takže místo

private $WebPageID;

mám použít

public $WebPageID;

Nebo i tak musí být $ID?

P.S a i když jsem zkusil použít jak $ID tak $WebPageID tak když vejdu na jinou stránku v gridu opět nic..

Pročti si dokumentaci https://doc.nette.org/…n/presenters#…

@Zuben45
Tohle už sem dávno četl ale nechápu jak mi to vyřeší načítání toho ID na další stránce… u ostatních funkcí třeba když přidám nový řádek tak aby mi to ID zůstalo a pouze reloadlo grid používám…

$p['webPagesIDGrid']->setDataSource($p->companyManager->getComponiesWebPages($values->CompanyID));
            $p['webPagesIDGrid']->redrawControl();

Ale jak můžu do toho stránkování něco přidat?

Zuben45
Člen | 268
+
0
-

Krom klasických parametrů, které jsme používali nyní, existují i tzv. perzistentní parametry. Ty se liší v jediné avšak zásadní věci: přenášejí se automaticky. To znamená, že je nemusíme v odkazech explicitně uvádět, ale přesto se přenesou.

Persistentní proměnná musí být deklarovaná jako public.

Editoval Zuben45 (29. 6. 2017 12:32)

jAkErCZ
Člen | 322
+
0
-

Zuben45 napsal(a):

Krom klasických parametrů, které jsme používali nyní, existují i tzv. perzistentní parametry. Ty se liší v jediné avšak zásadní věci: přenášejí se automaticky. To znamená, že je nemusíme v odkazech explicitně uvádět, ale přesto se přenesou.

@Zuben45

Dobře použil jsem

/** @persistent */
    public $ID;

A když vejdu na další stránku grid se hodí do defaultní hodnoty tedy NULL a nic v něm není ale jakmile kliknu na hledání dle ID mám tam 2 stránku a opět data které chci.. Kde dělám chybu?

jAkErCZ
Člen | 322
+
0
-

Vyřešeno!!! :)