Previous topicNext topic
Help > 开发指南 > SanMuGrid平台编程 > 主要对象 > BaseGrid > 方法 > 界面自定义 >
BuildCaption

常规模式下,我们可能在设计数据库结构时,使用的是英文字段,然后给用户显示时,又会希望显示成中文的,这时候就需要我们在表格显示时,更换一下显示标题。BuildCaption就是根据相应的参数来给表创建相应的标题的方法。

语法

BuildCaption(DatabaseTableName,SourceDatabase)

参数名称  说明
DatabaseTableName 必填项,字符串类型,表标题的数据库名称。如果指定了数据库表,则会按照“自定义表标题”里介绍的那样,直接读取自己在数据管理软件中维护的标题信息。如果此参数传递空值的话,则会到表属性中查看有没有设置“标题表名称”参数,有则按此参数加载,没有设置则看看表属性里面,列属性中有没有设置自定义标题,如果有的话,就按这里设置的标题显示,如果没有的话,就会看看当前表来自哪个数据表,然后按照此表名加载表标题。所以,如果自己明确要从哪个数据表中加载标题的可以指定此参数,如果不明确的话,直接指定空字符串,让平台根据表属性设置自动选择加载表标题也是一个不错的通用解决方案。
SourceDatabase必填项,Database类型,指定要加载表标题的数据源。

BuildCaption(DatabaseTableName,DatabaseName)

参数名称  说明
DatabaseTableName 必填项,字符串类型,表标题的数据库名称。如果指定了数据库表,则会按照“自定义表标题”里介绍的那样,直接读取自己在数据管理软件中维护的标题信息。如果此参数传递空值的话,则会到表属性中查看有没有设置“标题表名称”参数,有则按此参数加载,没有设置则看看表属性里面,列属性中有没有设置自定义标题,如果有的话,就按这里设置的标题显示,如果没有的话,就会看看当前表来自哪个数据表,然后按照此表名加载表标题。所以,如果自己明确要从哪个数据表中加载标题的可以指定此参数,如果不明确的话,直接指定空字符串,让平台根据表属性设置自动选择加载表标题也是一个不错的通用解决方案。
DatabaseName必填项,字符串类型,指定要加载表标题的数据源名称。

BuildCaption(OriGrid)

参数名称  说明
OriGrid 必填项,BaseGrid类型,如果两个表结构一致,我们可以考虑从另外一个表中加载相同的表标题。

BuildCaption(dicColCaption)

参数名称  说明
dicColCaption 必填项,字典类型,根据一个列名称和列标题的字典对象,生成表的标题。

Vb.Net
Dim tbl As SmGrid=Proj.CurrentSmGrid
'指定空的参数,让程序按照表属性设置的信息加载表标题
tbl.BuildCaption("",tbl.DataTableHelp.Database)

'指定加载相应的表标题
tbl.BuildCaption("订单信息",tbl.DataTableHelp.Database)

'第二个参数,还可以是数据源名称
tbl.BuildCaption("订单信息","UserDB")

Dim tblMain As SmGrid = Proj.OpenedForms("仓位管理").Grids("tblMain")
'标题设置成跟tblMain的标题一样,前提是两个表结构一致,标题就应该一致,可能用在副表的标题加载上更多
tbl.BuildCaption(tblMain)

Dim dic As New Dictionary(Of String,String)
dic("ColA")="列A"
dic("ColB")="列B"
dic("ColC")="列C"
'根据自定义的字典直接重置标题
tbl.BuildCaption(dic)

C#
SmGrid tbl = Proj.CurrentSmGrid;
// 指定空的参数,让程序按照表属性设置的信息加载表标题
tbl.BuildCaption("", tbl.DataTableHelp.Database);

// 指定加载相应的表标题
tbl.BuildCaption("订单信息", tbl.DataTableHelp.Database);

// 第二个参数,还可以是数据源名称
tbl.BuildCaption("订单信息", "UserDB");

SmGrid tblMain = Proj.OpenedForms["仓位管理"].Grids["tblMain"] as SmGrid;
// 标题设置成跟tblMain的标题一样,前提是两个表结构一致,标题就应该一致,可能用在副表的标题加载上更多
tbl.BuildCaption(tblMain);

Dictionary<string, string> dic = new Dictionary<string, string>();
dic["ColA"] = "列A";
dic["ColB"] = "列B";
dic["ColC"] = "列C";
// 根据自定义的字典直接重置标题
tbl.BuildCaption(dic);