diff options
| author | xue <> | 2006-02-05 03:48:45 +0000 | 
|---|---|---|
| committer | xue <> | 2006-02-05 03:48:45 +0000 | 
| commit | 08bf73e5621cdc384db7c416e6e8b689123bb3a8 (patch) | |
| tree | 81e9174731b53b2924ccc24804c50cc6d7e0b47d /demos/quickstart/protected/pages/Controls | |
| parent | 9bf518fc15ed3945b8f770bd10c855a89c7707bc (diff) | |
Added paging example of TDataGrid.
Diffstat (limited to 'demos/quickstart/protected/pages/Controls')
3 files changed, 134 insertions, 1 deletions
| diff --git a/demos/quickstart/protected/pages/Controls/DataGrid2.page b/demos/quickstart/protected/pages/Controls/DataGrid2.page index a081fa46..4c295f5a 100644 --- a/demos/quickstart/protected/pages/Controls/DataGrid2.page +++ b/demos/quickstart/protected/pages/Controls/DataGrid2.page @@ -21,7 +21,22 @@ The following example turns the datagrid in <a href="?page=Controls.Samples.TDat  <com:RunBar PagePath="Controls.Samples.TDataGrid.Sample4" />
  <h2>Paging</h2>
 -
 +<p>
 +When dealing with large datasets, paging is helpful in reducing the page size and complexity. TDataGrid has an embedding paging feature. By setting <tt>AllowPaging</tt> to true, a pager is displayed automatically at the bottom of the datagrid. The pager can be further customized by setting <tt>PagerStyle</tt>, through which you can set pager visibility, mode, position, etc.
 +</p>
 +<p>
 +When users click on a pager button, TDataGrid raises <tt>OnPageIndexChanged</tt> event. Typically, the event handler is written as follows,
 +</p>
 +<com:TTextHighlighter CssClass="source">
 +public function pageIndexChanged($sender,$param) {
 +    $this->DataGrid->CurrentPageIndex=$param->NewPageIndex;
 +    $this->DataGrid->DataSource=$this->Data;
 +    $this->DataGrid->dataBind();
 +}
 +</com:TTextHighlighter>
 +<p>
 +The following example enables the paging functionality of the datagrid shown in <a href="?page=Controls.Samples.TDataGrid.Sample1">Example 1</a>. In this example, you can set various pager styles interactively to see how they affect the pager display.
 +</p>
  <com:RunBar PagePath="Controls.Samples.TDataGrid.Sample5" />
  <h3>Custom Paging</h3>
 diff --git a/demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample5.page b/demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample5.page new file mode 100644 index 00000000..17f2c5d4 --- /dev/null +++ b/demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample5.page @@ -0,0 +1,55 @@ +<com:TContent ID="body">
 +
 +<h1>TDataGrid Sample 5</h1>
 +<h2>Paging</h2>
 +
 +<com:TDataGrid
 +	ID="DataGrid"
 +	AllowPaging="true"
 +	PageSize="5"
 +	PagerStyle.Mode="Numeric"
 +	PagerStyle.HorizontalAlign="Right"
 +	Width="500px"
 +	CellPadding="2"
 +	HeaderStyle.BackColor="black"
 +	HeaderStyle.ForeColor="white"
 +	ItemStyle.BackColor="#BFCFFF"
 +	ItemStyle.Font.Italic="true"
 +	AlternatingItemStyle.BackColor="#E6ECFF"
 +	OnPageIndexChanged="changePage"
 +	OnItemCreated="itemCreated"
 +	/>
 +
 +<com:TPanel GroupingText="Pager Visibility" Width="300px">
 +
 +<com:TCheckBoxList
 +     AutoPostBack="true"
 +	RepeatColumns="2"
 +     OnSelectedIndexChanged="changePagerPosition">
 +	<com:TListItem Text="Top" />
 +	<com:TListItem Text="Bottom"  Selected="true" />
 +</com:TCheckBoxList>
 +
 +</com:TPanel>
 +
 +<com:TPanel GroupingText="Pager Mode" Width="300px">
 +
 +<com:TPanel GroupingText="NextPrev Pager" Width="300px">
 +
 +Next Page Text:
 +<com:TTextBox ID="NextPageText" Text="Next" /><br/>
 +Prev Page Text:
 +<com:TTextBox ID="PrevPageText" Text="Prev" /><br/>
 +<com:TButton Text="Submit" OnClick="useNextPrevPager" />
 +</com:TPanel>
 +
 +<com:TPanel GroupingText="Numeric Pager" Width="300px">
 +
 +Page Button Count:
 +<com:TTextBox ID="PageButtonCount" Text="5" /><br/>
 +<com:TButton Text="Submit" OnClick="useNumericPager" />
 +</com:TPanel>
 +
 +</com:TPanel>
 +
 +</com:TContent>
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample5.php b/demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample5.php new file mode 100644 index 00000000..6d6d967c --- /dev/null +++ b/demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample5.php @@ -0,0 +1,63 @@ +<?php
 +
 +Prado::using('Application.pages.Controls.Samples.TDataGrid.Sample1');
 +
 +class Sample5 extends Sample1
 +{
 +	public function changePage($sender,$param)
 +	{
 +		$this->DataGrid->CurrentPageIndex=$param->NewPageIndex;
 +		$this->DataGrid->DataSource=$this->Data;
 +		$this->DataGrid->dataBind();
 +	}
 +
 +	public function itemCreated($sender,$param)
 +	{
 +		$item=$param->Item;
 +		if($item->ItemType==='Pager')
 +		{
 +			// prepend 'Page: ' to the pager
 +			$item->Cells[0]->Controls->insertAt(0,'Page: ');
 +		}
 +	}
 +
 +	public function changePagerPosition($sender,$param)
 +	{
 +		$top=$sender->Items[0]->Selected;
 +		$bottom=$sender->Items[1]->Selected;
 +		if($top && $bottom)
 +			$position='TopAndBottom';
 +		else if($top)
 +			$position='Top';
 +		else if($bottom)
 +			$position='Bottom';
 +		else
 +			$position='';
 +		if($position==='')
 +			$this->DataGrid->PagerStyle->Visible=false;
 +		else
 +		{
 +			$this->DataGrid->PagerStyle->Position=$position;
 +			$this->DataGrid->PagerStyle->Visible=true;
 +		}
 +	}
 +
 +	public function useNumericPager($sender,$param)
 +	{
 +		$this->DataGrid->PagerStyle->Mode='Numeric';
 +		$this->DataGrid->PagerStyle->PageButtonCount=$this->PageButtonCount->Text;
 +		$this->DataGrid->DataSource=$this->Data;
 +		$this->DataGrid->dataBind();
 +	}
 +
 +	public function useNextPrevPager($sender,$param)
 +	{
 +		$this->DataGrid->PagerStyle->Mode='NextPrev';
 +		$this->DataGrid->PagerStyle->NextPageText=$this->NextPageText->Text;
 +		$this->DataGrid->PagerStyle->PrevPageText=$this->PrevPageText->Text;
 +		$this->DataGrid->DataSource=$this->Data;
 +		$this->DataGrid->dataBind();
 +	}
 +}
 +
 +?>
\ No newline at end of file | 
