TDropDownList使用教程From PRADO Wiki
TDropDownList使用教程(使用SQLite/TAdodb记录集)
John Teague (johnteag@gmail.com)
翻译:Sail Lee (sail_lee@21cn.com)
翻译说明:由于译者水平有限,译文中难免有不当欠妥之处,请各位读者斧正
目录
1 概述
1.1 实用的SQLite工具
2 五步处理
3 按部就班的处理指导
3.1 第1步. 建立tblCategories表
3.2 第2步. 加入查询函数
3.3 第3步. 加入处理函数
3.4 第4步. 加入TDropDownList组件
3.5 第5步. 测试
概述 使用Prado架构的一个最大的好处就是它能瞬间加入复杂的动态web组件。本教程目的是帮助Prado的使用者动态地建立并组装TDropDownList的选择列表。在本教程中,我们将使用以Prado (http://www.xisc.com/)构建的Blog (http://www.xisc.com/demo/prado/examples/blog.php)实例。显然,你可能会用MySQL (http://mysql.com/)、Postgres (http://www.postgresql.org/)等等这些数据库。但是,在本案例中,我们将使用SQLite (http://www.sqlite.org/) Blog.db,因为...好了...薛强已经为我们做得很好了。这里我还是借用Zsolt的forum post (http://www.xisc.com/forum/viewtopic.php?t=1127&start=0%20type=)实例的好。谢谢你们两个。
实用的SQLite工具 假如你正在使用PHP5事先打包好的SQLite版本,而且对它没有什么经验的话,你应该考虑下载和安装一个下列的SQLite管理工具:
SQLab's SQLiteManager (http://www.sqlabs.net) PHP SQLiteManager (http://www.sqlitemanager.org/) wtcSQLite (http://www.webtrickscentral.com/wtcSQLite.php/)是一个UI和MySQL的phpMyAdmin非常相似的工具 提醒你,上面的工具并不是可用SQLite图形界面管理工具的全部清单,选用你觉得最好的。
五步处理 为了本教程的教学,我们将完成下面几个步骤:
1. 在blog.db中建立一个新的表并插入一些实例用到的数据。
2. 在"../prado/examples/blog/BlogModule/DataModule.php"中加入PHP公共函数。
3. 在"../prado/examples/blog/BlogModule/NewPage.php"中加入PHP公共函数。
4. 把"TDropDownList"组件加入到"../prado/examples/blog/BlogModule/NewPage.tpl"。
5. 测试你的程序。
按部就班的处理指导 第1步. 建立tblCategories表 建立该表(本练习实例):在blog.db中命名为tblCategories,有"category_id"和"category_name"两个字段。完成后,我们最后还是插入一些实例数据。下列SQL足够了:
CREATE TABLE "tblCategory" (
"category_id" INTEGER AUTOINCREMENT PRIMARY KEY,
"category_name" varchar(255) DEFAULT NULL
);
INSERT INTO "tblCategory" (category_name) VALUES ('Batman');
INSERT INTO "tblCategory" (category_name) VALUES ('Robin');
INSERT INTO "tblCategory" (category_name) VALUES ('Joker');
第2步. 加入查询函数 现在我们有了处理数据,我们要加入一个用于处理select查询的新的公共函数。为了达到这目的,往"../prado/examples/blog/BlogModule/DataModule.php"中加入一个类似下面高亮显示的新的公共函数。注意:我省略了空白处的代码。
<php?
using('System.Data');
class DataModule extends TModule
{
...
public function populateCategoryList()
{
$result=$this->Database->GetAll("SELECT category_id as 'category_id',
category_name as 'category_name'
FROM category");
return $result;
}
...
}
?>
第3步. 加入处理函数 我们还需往"../prado/examples/blog/BlogModule/NewPage.php"中加入一个PHP函数,本案例中,我们加入一个public function onInit($param),见下面:
<?php
class NewPage extends TPage
{
...
public function onInit($param)
{
parent::onInit($param);
$this->content->CategoryList->setDataSource($this->Module->populateCategoryList());
$this->content->CategoryList->dataBind();
}
}
?>
第4步. 加入TDropDownList组件 我们快要完成了!现在是时候把TDropDownList组件加入到我们的"../prado/examples/blog/BlogModule/NewPage.tpl"中去了。在你的模板中加入下面的代码:
<com:TDropDownList ID="CategoryList" DataTextField="category_name" DataValueField="category_id" />
第5步. 测试 连到你的Blog实例。要是所有都按计划完成,你就能见到象下面截图一样的,以"Batman"、"Robin"、"Joker"为选项组成的新的下拉选择框:
显然,这是一个很简单的例子。但是,它演示了如何轻松建立你自己的动态列表组件,而不用很费时间地进行大量处理。希望这个练习将帮助你向TDropDownList的天堂迈进。
要是你有关于本教程的任何问题,就把它们贴到论坛上吧。