在新增/更新中使用简单的固定值下来菜单

 

DTable在记录新增、更新中定义了很多字段类型来实现不同的表现形式方便用户。通过一个下拉菜单进行数据选择是常用的一种方式。要实现某字段用下拉菜单表现,可以有两种方法:一种是直接定义一些静态数据的集合来实现下拉菜单;一种是通过一个表查询,并将结果作为下拉菜单的源来实现。这里主要详细介绍第一种方式的实现。

Edit_FieldFormat属性用于定义字段的类型。不同的类型可以定义不同的参数选项来实现不同的功能。该属性是一个String类型属性,在新增和更新界面的所有特殊类型字段都通过该属性进行定义。
定义简单的下拉菜单的字段类型为selectvalue,只需设置一个参数即可实现该功能:

列序 列样式 selectvalue 值1@@值2@@值3   只读和隐藏(更新时有效){hidden,readonly} 描述 控件样式

DTable1.Edit_FieldFormat="4||selectvalue|先生@@女士@@小姐||||";

这种简单的方式生成的下拉菜单的value和显示的文本都将是同样的文本。如果需要根据权限定义该字段在更新时只读,可以如此设定:
DTable1.Edit_FieldFormat="4||selectvalue|先生@@女士@@小姐|readonly|||";

要定义该字段在更新时隐藏:
DTable1.Edit_FieldFormat="4||selectvalue|先生@@女士@@小姐|hidden|||";

下面这段代码演示如果根据权限来定义不同情况下该类型字段是只读

string strtmp1=Page.Session["tmp1"]; //定义权限变量来自登录时就已经赋值的session变量tmp1
if(strtmp1.IndexOf(",超级管理员,")>-1) //如果权限字符串中包含超级管理员这个权限, 就不设置只读
{
DTable1.Edit_FieldFormat="4||selectvalue|先生@@女士@@小姐||||";
}
else //如果不是超级管理员就设置只读。
{
DTable1.Edit_FieldFormat="4||selectvalue|先生@@女士@@小姐|readonly|||";
}

相关示例:http://www.dtable.com/ae003.aspx?Addnew=true