2009-06-25 6 views
1

サブソニックジェネレータを使用していくつかのaspxページを作成しましたが、正常に動作します。 一部のページでは、自動的に外部キー値のドロップダウンボックスが生成されました。 ロード・ドロップ・コードでその値を変更することはできますか?または私はそれを変更する必要があります。SubSonic負荷ドロップのドロップダウン値を変更するSUB

たとえば、私は労働者テーブルと労働者テーブルを持っています。 workerテーブルには、workerid、firstname、およびlastnameフィールドがあり、workersweekにはworkerIDフィールドがあります。 ジェネレータは自動的にドロップダウンリストにファーストネームを表示するように設定します。値をfirstnameとlastnameの両方に変更したい。

firstname + "" + Lastnameのようなコードを追加する必要があります。

生成されたコードをどこで行うのか不明です。私は負荷降下のサブを見るが、それは私が修正する必要があるようではないようだ。

答えて

0

外部キーからロードすると、データベーステーブルからロードされます。

クエリのフィールドを連結する必要がある場合は、フィールドを連結したビューを作成してみてください。例えばテーブルからFullNameとしてfName + '' + lNameを選択してください

次に、aspxページのコードで、コンボボックスをロードするビューからそのコードを選択します。

0

また、「部分」クラス機能を使用して、新しいバインド可能なプロパティを作成してみてください。これは私のために働くと私のアプリを介してデータの一貫性のあるプレゼンテーションの追加ボーナスを持っています(データベース内の何かを変更する必要はありませんの追加ボーナス - あなたが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")