TDropDownList使用教程
From PRADO Wiki
TDropDownList使用教程(使用SQLite/TAdodb记录集)
John Teague (johnteag@gmail.com)
翻译:Sail Lee (sail_lee@21cn.com)
翻译说明:由于译者水平有限,译文中难免有不当欠妥之处,请各位读者斧正
目录
<script type="text/javascript"> showTocToggle("show","hide") </script> |
1 概述
1.1 实用的SQLite工具
2 五步处理
3 按部就班的处理指导
3.1 第1步. 建立tblCategories表 |
概述
使用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的天堂迈进。
要是你有关于本教程的任何问题,就把它们贴到论坛上吧。