二十四画生的Blog


        ——开始学习Orchard框架
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

[DNN功能]列表管理添加中国的省份选择下拉框

Posted on 2005-06-28 10:05  二十四画生  阅读(4086)  评论(3编辑  收藏  举报

  DNN中的列表管理可以实现对DNN中可变项列表的管理。可变列表包括:可选择的货币种类、可选择的国家省份等。这些列表项一般都以下拉框的形式出现。在DNN中程序默认给出了一些,我们可以修改系统默认给出的值,也可添加新的列表(主要用于自己开发的用户模块)。
  就拿国家省份列表来说:默认给出的省份都是英文,我们当然可以把它汉化成中文。中国的省份也没有默认给出,大家可安装以下步骤添加:
1、点击“增加列表”,出现如下图所示界面。(输入的值也按下图所示给出,如果要启用自定义排序,那么一定要把“排序方式”项选中)

2、保存上一步操作后,点击“增加条目”依次添加省份条目,界面如下:

3、如果你在添加列表时选中了“排序方式”项,则可以调整列表条目的顺序,界面如下:

4、添加完条目后就可以在注册页面看看效果了,如下图:

5、注册时国家默认的United States,要想让它默认China,只有修改程序才行
在controls\Address.ascx文件中有以下代码:

<wc:CountryListBox TestIP="" LocalhostCountryCode="US" id="cboCountry" CssClass="NormalTextBox" Width="200px" DataValueField="Value" DataTextField="Text" AutoPostBack="True" runat="server"></wc:CountryListBox>

修改LocalhostCountryCode="US"为LocalhostCountryCode="CN"即可。
6、网上有人对“台湾”作为一个国家出现感到不爽,可以自己将它从国家列表中删除并添加到中国省份列表中即可。

列出一些我在看程序的记录的东西,希望能对大家看这部分程序时有用。

数据库中的表(Lists): 

字段名

类型

含义

备注

EntryID

Int

列表明细ID

 

ListName

Nvarchar(50)

列表名称

组合主键(ListNameValueTextParentID

[Value]

Nvarchar(100)

列表值

 

Text

Nvarchar(150)

列表文本

 

ParentID

Int

ID

表示隶属于那一个条目

[Level]

Int

层次

 

SortOrder

Int

列表排序号

 

DefinitionID

Int

列表定义

用于区分是系统默认列表还是客户新建的列表(-1:系统默认的/0:用户创建的),系统默认的列表是不能删除

Description

Nvarchar(500)

描述

当前版本还没用到


ListInfo和ListEntryInfo:虽说列表管理只有一个表,但它却对应了两个业务实体。
ListInfo:列表信息类,相当于一个列表种类,如Country。
ListEntryInfo:列表明细条目信息类,就是列表中的一个条目,如Country列表中的China就是一个条目
从上面给出的数据表结构中就可见看出,这设计可以灵活的添加子列表。如果设计一个ListInfo表和一个ListEntryInfo表当然也是可以的,那么程序实现起来就复杂一些。

几个容易混淆的东西:
DisplayName:显示在列表节点的名称([父列表名称.父列表文本]:列表名称)
Key:列表信息Key([父列表名称.父列表值]:列表名称,[]表示如果没父类就没有该项,[父列表名称.父列表值]就是ParentKey)
ParentKey:父列表Key([父列表名称.父列表值])
Parent:父列表名称([父列表名称.父列表文本])
ParentList:父列表([父列表名称])

 更多相关内容>>