2009-06-25 2 views
1

일부 aspx 페이지를 생성하기 위해 아음속 생성기를 사용했지만 정상적으로 작동합니다. 일부 페이지에서는 자동으로 외부 키 값의 드롭 다운 상자가 생성되었습니다. 로드 손실 코드에서 해당 값을 변경할 수 있습니까? 또는 내가 그것을 바꿀 필요가있는 곳.SubSonic로드 드롭에 대한 DropDown 값 변경 SUB

예를 들어 나는 workers 테이블과 workersweek 테이블을 가지고 있습니다. workers 테이블에는 workerid, firstname 및 lastname 필드가 있고 workersweek에는 workerID 필드가 있습니다. 생성기가 드롭 다운에 firstname을 표시하도록 자동으로 설정합니다. 값을 성 및 성으로 변경하고 싶습니다.

나는 firstname + ""+ Lastname과 같은 것을하는 코드를 추가해야 할 것이라고 확신한다.

생성 된 코드를 어디서 처리해야할지 모르겠습니다. 하중이 감소하는 것을 볼 수 있지만, 수정이 필요한 것 같지 않습니다.

답변

0

외래 키에서로드 된 경우 데이터베이스 테이블에서로드됩니다.

쿼리에서 필드를 연결해야하는 경우 필드가 연결된 뷰를 만들어보십시오. 예 : select fName + ''+ FullName as FullName 테이블

그런 다음 aspx 페이지의 코드에서 콤보 상자를로드 할보기에서 선택하십시오.

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")