2009-04-13 45 views
1

我正在使用ASP.net動態數據腳手架。我認識到,像一臺更改在動態數據中爲生成gridview而生成的Select語句?

表1:EducationLevel(ID,levelname,modby,Mod開啓)

表2:課程(ID,coursename,modby,Mod開啓,belongsToEduLevel)

其中belongsToEduLevel是FK 。在這種情況下,動態數據不會在網格中顯示級別名稱,而是顯示

操作| Modon |教育程序

我該如何改變?我可以修改生成的select語句嗎?

回答

2

如果我正確地理解了您希望顯示的列未顯示,您希望顯示的FK列不是文本值?

如果是這樣,您所需要做的就是將DisplayColumn應用到FK引用的表格並將PK作爲要顯示的列。

即 [DisplayColumn( 「ID」)]

Id是柱在FK關係和過濾器顯示的名稱。

+0

讓我嘗試的是位 – Perpetualcoder 2009-04-15 16:12:10

1

如果你沒有定製卻爲課程創建的類,創建以下文件:

[ScaffoldTable(true)] 
[MetadataType(typeof(CourseMetaData))] 
public partial class Course 
{ 

} 
[DisplayName("Courses")] 
public class CourseMetaData 
{ 
    [DisplayName("Course ID")] 
    public object CourseID { get; set; } 

    [DisplayName("Course Name")] 
    public object CourseName { get; set; } 

    [DisplayName("Modified By")] 
    public object ModifiedBy { get; set; } 

    [DisplayName("Modified By")] 
    public object ModifiedBy { get; set; } 

    [DisplayName("Modified On")] 
    [DisplayFormat(DataFormatString = "{0:MM-dd-yyyy}")] 
    public object ModifiedOn { get; set; } 

    [DisplayName("Level Name")] 
    public object EducationLevelName { get; set; } 

} 

如果你沒有一個教育層次,抓住這個一個:

[ScaffoldTable(true)] 
[DisplayColumn("EducationLevelName")] 
[MetadataType(typeof(EducationLevelMetadata))] 
public partial class EducationLevel : INotifyPropertyChanging, INotifyPropertyChanged 
{ 

} 

[DisplayName("Education Levels")] 
public class EducationLevelMetadata 
{ 
    [DisplayName("Education Level ID")] 
    public object EducationLevelID { get; set; } 

    [DisplayName("Education Level Name")] 
    public object EducationLevelName { get; set; } 

    [DisplayName("Education Level Modified By")] 
    public object EducationLevelModBy { get; set; } 

    [DisplayName("Education Level Modified On")] 
    [DisplayFormat(DataFormatString = "{0:MM-dd-yyyy}")] 
    public object EducationLevelModOn { get; set; } 
} 
0

如果這不是你想要的東西,你可以重載ToString()方法,它可以讓你顯示一個計算值:

[MetadataType(typeof(Message_MD))] 
public partial class Message 
{ 
    public override String ToString() 
    { 
     return MessageID.ToString() + ", " + Subject; 
    } 
    public partial class Message_MD 
    { 
     public object MessageID { get; set; } 
     public object Subject { get; set; } 
     public object Body { get; set; } 
     public object SMSBody { get; set; } 
    } 
} 

在這裏,我有PK Id和顯示一些文字

即12,測試消息

希望這有助於:d