1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
<?php
Prado::using('Example.Person');
class crud2 extends TPage
{
private function sqlmap()
{
return $this->Application->Modules['person-sample']->Client;
}
private function loadData()
{
$this->personList->DataSource = $this->sqlmap()->queryForList('SelectAll');
$this->personList->dataBind();
}
public function onLoad($param)
{
if(!$this->IsPostBack)
$this->loadData();
}
protected function editPerson($sender,$param)
{
$this->personList->EditItemIndex=$param->Item->ItemIndex;
$this->loadData();
}
protected function deletePerson($sender, $param)
{
$id = $this->getKey($sender, $param);
$this->sqlmap()->update("Delete", $id);
$this->loadData();
}
protected function updatePerson($sender, $param)
{
$person = new Person();
$person->FirstName = $this->getText($param, 0);
$person->LastName = $this->getText($param, 1);
$person->HeightInMeters = $this->getText($param, 2);
$person->WeightInKilograms = $this->getText($param, 3);
$person->ID = $this->getKey($sender, $param);
$this->sqlmap()->update("Update", $person);
$this->refreshList($sender, $param);
}
protected function addNewPerson($sender, $param)
{
$person = new Person;
$person->FirstName = "-- New Person --";
$this->sqlmap()->insert("Insert", $person);
$this->loadData();;
}
protected function refreshList($sender, $param)
{
$this->personList->EditItemIndex=-1;
$this->loadData();
}
private function getText($param, $index)
{
$item = $param->Item;
return $item->Cells[$index]->Controls[0]->Text;
}
private function getKey($sender, $param)
{
return $sender->DataKeys[$param->Item->DataSourceIndex];
}
}
|