负载下降SUBSonic的SubSonic Change DropDown值

时间:2009-06-25 00:08:04

标签: subsonic

我使用亚音速生成器来创建一些aspx页面,它工作正常。 在某些页面上,它会自动生成外键值的下拉框。 如何在负载中更改该值会丢弃代码?或者我需要改变的地方。

例如,我有一个工人桌和一个工人周表。 workers表有一个workerid,firstname和lastname字段,workersweek有一个workerID字段。 生成器自动将其设置为显示下拉列表中的名字。我想将值更改为firstname和lastname。

我确信我必须添加类似firstname +“”+ Lastname。

的代码

我只是不确定在生成的代码中用它做什么。我看到负载下降子,但似乎不是我需要修改的那个。

2 个答案:

答案 0 :(得分:0)

如果从外键加载,则从数据库表加载。

如果需要在查询中连接字段,请尝试使用连接的字段创建视图。例如从表

中选择fName +''+ lName作为FullName

然后在aspx页面的代码中,从视图中选择加载组合框。

答案 1 :(得分:0)

或者尝试使用“部分”类功能来创建新的可绑定属性。这对我来说是一种享受,并且在我的应用程序中具有一致的数据呈现的额外好处(额外的好处是不需要更改数据库中的任何内容 - 如果你有来自地狱的DBA,需要18级别的变更控制,这会很有帮助完成任何事情。)

因此,如果您的表类文件是“workers.cs”并且包含一个名为“workers.cs”的类,那么只需创建另一个名为“workers_custom.cs”的类文件(使用您自己的约定来处理部分类)部分类的其余部分,在这种情况下类似于:

using System; 
using System.Text; 
using System.Data;
using System.Data.SqlClient;
using System.Data.Common;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration; 
using System.Xml; 
using System.Xml.Serialization;
using SubSonic; 
using SubSonic.Utilities;
namespace YOURCOMPANY.YOURSYSTEM.YOURDAL   {

    public partial class Workers {

        [Bindable(true)]
        public string displayWorkersName {
            get {
                try {
                    return this.fName + ", " + this.lName;
                } catch {
                    //Your own error handling here
                    return IsNew ? "##New##" : "##Undefined##";
                }
            }
        }

    }
}

(注意,您需要将控件的绑定属性成员更改为新属性 - 在这种情况下:“displayWorksName”)