GRIDO – update viacerych riadkov naraz

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

Ahojte,

v Grido komponente som si nastavil na jednom stlpci moznost editovania s vlastnou callbackovou funkciou, ktora mi zmeni viac riadkov v databaze. Ako docielit, aby som prekreslil aj tieto zmenene riadky po stlačeni enteru?

$grid->addColumnText("type", "Typ")
     ->setEditable(array($this,"setTypesCallback"),new Nette\Forms\Controls\SelectBox(null,$this->data->getTypeValues()));

function setTypesCallback($id, $newValue, $oldValue, Editable $column) {
    return $this->data->setType($id, $newValue);
}

Dakujem za pomoc :)

Editoval brancib (17. 1. 2016 11:29)

Zuben45
Člen | 268
+
0
-

s Grido nemám zkušenosti, ale zkoušel jsi snippety + ajax ?

Pavel Kravčík
Člen | 1196
+
0
-

A nestačí jen překreslit celé Grido (snippet grid), stačí to zavolat přes jméno komponenty.

Myslím, že tam není snippetArea pro každý řádek a pokud je tak si zjisti, podle jakého klíče se jmenují jednotlivé položky. Ale pochybuji, že to bude třeba PK.

A nejlepší možnost je napsat do vlákna o Gridu. :) Případně si ho projít, třeba už to někdo řešil. https://forum.nette.org/…id-pro-nette

brancib
Člen | 2
+
0
-

Skúšal som dať do callbacku redrawControl

function setTypesCallback($id, $newValue, $oldValue, Editable $column) {
    $return = $this->data->setType($id, $newValue);
	$this->redrawControl("grid");
	return $return;
}

ale to neurobí nič.
A vo fóre ku gridu bola jedna podobná otázka, ale nebola k nej odpoveď tak som to postol tu.

Pavel Kravčík
Člen | 1196
+
0
-

A zkoušel si volat „componentName-grid“?