欧美日韩国产网暴台湾_白拍偷拍制服丝袜_国产麻豆日韩在线观看_精品欧美在线va天堂资源站_亚洲色成人WWW永久_免费高级毛片AV_精品國產av色一區二區深夜久久_亚洲乱码中文字幕av综合_一级做A爱片特黄在线观看_少妇免费亚洲综合

Previous topicNext topic
Help > 使用指南 > 數(shù)據(jù)規(guī)范 >
數(shù)據(jù)規(guī)范說明

數(shù)據(jù)規(guī)范主要是指解決我們在表中輸入、顯示數(shù)據(jù)時幾種通用的模式、規(guī)范。我們也可以換一種叫法:數(shù)據(jù)錄入規(guī)范。我們可以通過這些規(guī)范的設(shè)置,即可以做到不寫代碼也可以完成常規(guī)開發(fā)的70-80%功能。

數(shù)據(jù)規(guī)范的類型有以下幾種:請根據(jù)索引到相應(yīng)的章節(jié)去詳細(xì)了解其功能與使用方法。

ID 數(shù)據(jù)規(guī)范分類
1 自動編號
2 窗口選擇
3 標(biāo)準(zhǔn)字典
4 圖片字典
5 列表項目
6 系統(tǒng)變量
7 目錄樹篩選
8 自動填充
9 智能篩選

打開方式

打開表屬性設(shè)置窗口——》點擊“列數(shù)據(jù)規(guī)范”按鈕切換到相應(yīng)的視圖——》點擊“數(shù)據(jù)規(guī)范(RuleID)”列、“自動錄入(RuleID)”、“字典規(guī)范(RuleID)”都可以打開“數(shù)據(jù)規(guī)范管理”窗口。

一些共性的屬性介紹

規(guī)范名稱 數(shù)據(jù)規(guī)范的名稱,方便自己管理。

分類 給數(shù)據(jù)規(guī)范起一個目錄名稱,方便進行分類管理。也方便篩選。

數(shù)據(jù)源名稱:是指當(dāng)前數(shù)據(jù)規(guī)范涉及的數(shù)據(jù)庫來源。

SQL語句:加載數(shù)據(jù)所用的SQL語句。這里的SQL語句不僅支持常規(guī)的SQL語句,另外還支持幾種特殊的參數(shù)。 點擊右邊的編輯按鈕還可以打開“SQL編輯”窗口,具體教程可以參考“SQL編輯窗口”。

框架中所有數(shù)據(jù)規(guī)范用到SQL語句的地方都增加了添加變量參數(shù)的功能。這樣,我們就可以利用以下幾種變量,以實現(xiàn)靈活的加載、篩選,甚至是做一些權(quán)限的設(shè)置。像全國地區(qū)下拉選擇這樣的需求,也可以利用變量實現(xiàn)有條件地動態(tài)加載。某種意義上,這種方式變相的實現(xiàn)了類似存儲過程的效果。

1.全局代碼中的系統(tǒng)變量。比如Proj.User.UserID這類的。

特殊字符 代表全局變量 實際引用屬性
{U.S.E.R.N.M} 用戶名稱 Proj.User.UserName
{U.S.E.R.I.D} 用戶ID Proj.User.UserID
{U.S.E.R.D.P.N.M} 部門名稱 Proj.User.GroupName
{U.S.E.R.D.P.I.D} 部門ID Proj.User.GroupID
{U.S.E.R.P.G.I.D} 項目ID Proj.User.ProgramID
{U.S.E.R.P.G.N.M} 項目名稱 Proj.User.ProgramName
{U.S.E.R.P.S.I.D} 職位ID Proj.User.PositionID
{U.S.E.R.P.S.N.M} 職位名稱 Proj.User.PositionName
{U.S.E.R.C.P.I.D} 公司ID Proj.User.CompanyID
{Contain.Admin} 包含管理員權(quán)限 Proj.User.Roles.Contains(Proj.AdminRoleID)
{Contain.Developer} 包含開發(fā)者權(quán)限 Proj.User.Roles.Contains(Proj.DeveloperRoleID)
{AdminID} 管理員ID Proj.AdminRoleID
{DeveloperID} 開發(fā)者ID Proj.DeveloperRoleID

注意:在使用這類系統(tǒng)變量時得用一對單引號包住,如:GroupID='{U.S.E.R.D.P.I.D}'。另外,這類系統(tǒng)變量不是憑空就有的,需要我們在“代碼管理 ”——>“登陸事件”——>“AfterConfirm”事件里面給每個用戶根據(jù)實際的業(yè)務(wù)數(shù)據(jù)賦上值。

下面以一個示例來說明如何操作,示例中僅給用戶的部門ID賦值,其他的如部門名稱、公司名稱這些得靠自己去擴展。

 Vb.Net
Dim dt As DataTableHelp=Proj.SysDataFactory("UserDB").ExecuteDataTableHelp("select * from EmployeeInfo where EmployeeID='" & Proj.User.UserID & "'")
If dt IsNot Nothing AndAlso dt.DataRows.Count>0 Then
    Dim dr As RowData=dt.DataRows(0)
    Proj.User.GroupID=dr("Department").ToString()
End If

 C#
DataTableHelp dt = Proj.SysDataFactory("UserDB").ExecuteDataTableHelp("select * from EmployeeInfo where EmployeeID='" + Proj.User.UserID + "'");
if (dt != null && dt.DataRows.Count > 0)
{
    RowData dr = dt.DataRows(0);
    Proj.User.GroupID = dr("Department").ToString();
}

2.當(dāng)前行指定字段的值。

格式說明:{ R("字段名稱")}, R代表Proj.CurrentGrid.CurrentRowData。

示例:

select typename from  PMWordtype where ID like '%{ R("ID")}'

3.指定當(dāng)前窗體指定表當(dāng)前行指定字段的值。

格式說明:{T("表名稱").R("字段名稱")},T代表當(dāng)前窗口中名為“表名稱”的表,R代表當(dāng)前行中“字段名稱”字段中的值。

4.指定窗體指定表當(dāng)前行指定字段的值。

格式說明:{F("窗體名稱").T("表名稱").R("字段名稱")},這個參數(shù)就跟代碼Proj.OpenedForms("窗體名稱").Grids("表名稱").CurrentRowData("字段名稱")的值一致。

5.Var變量

格式說明:{Vars("變量名")},這個參數(shù)就跟代碼Proj.Vars("變量名")的值一致。

6、當(dāng)前桌面當(dāng)前窗體指定表當(dāng)前行指定字段的值

格式說明:{D("表名稱").R("字段名稱")},這個參數(shù)就跟代碼Proj.CurrentDesktop.CurrentForm.Grids("表名稱").CurrentRowData("字段名稱")的值一致。

7、父表的當(dāng)前行指定字段的值

格式說明:{ P("字段名稱")}, P代表Proj.CurrentSmGrid.Relation.ParentGrid.CurrentRowData("字段名稱")。