加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

在ASP.Net动态数据中使用Computed Property作为DisplayColumn?

发布时间:2020-12-16 09:29:42 所属栏目:asp.Net 来源:网络整理
导读:我试图在asp.net动态数据站点中显示“软件版本”表. Release表的内部版本号存储为三个int字段(Major,Minor,Build).我正在使用EntityFramework,所以我有一个绑定到我的数据库模式的EF模型.在我的动态数据站点中,我希望构建号显示为单个字段(Major.Minor.Build
我试图在asp.net动态数据站点中显示“软件版本”表. Release表的内部版本号存储为三个int字段(Major,Minor,Build).我正在使用EntityFramework,所以我有一个绑定到我的数据库模式的EF模型.在我的动态数据站点中,我希望构建号显示为单个字段(Major.Minor.Build),无论何处显示Release对象(特别是当它在相关对象的页面上显示为外键时).由于此“计算列”不是我的数据库中的字段,因此似乎无法使动态数据识别或显示它.我可以向Release对象添加一个属性(因为它是由EF生成的部分类),但Dynamic-Data将无法识别它,因为它不是“列”.我想将Release编辑为三个单独的字段(主要,次要,构建),但是当它显示时,我希望它显示为单个字段. DynamicData框架似乎不支持复合字段,如果它们不在EF模型中,它将不会显示/绑定到对象上的属性.如何将格式化版本号属性设置为默认显示值?

解决方法

我不确定您是否绑定到从数据库返回的DataTable / DataSet,或者您是否绑定到Release对象本身.也不是哪种控制.

如果要绑定到DataSet / DataTable,只需更改SQL以将版本作为一个字段返回:

SELECT table1.Major + '.' + table1.Minor + '.' + table1.Build AS Version ....

但是,如果你绑定一个对象,比如一个DropDownList,我认为如果你重写ToString方法,它将成为DropDownList中的Display值:

Public Overrides Function ToString() As String
    Return _major.ToString & '.' & _minor.ToString & '.' & _build.ToString
End Sub

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读