在DynamicData站点表中显示计算列?

时间:2012-12-24 15:30:36

标签: calculated-columns asp.net-dynamic-data

根据我的阅读,要添加计算列以显示在ASP DynamicData表中,我只需要向表类添加一个Readonly属性,并设置:[ScaffoldColumn(true)]并返回值。

这是我根据这些规则所做的,但它不起作用:

public struct Rep
{
    public int ID;
    public string Name;
}


[ScaffoldTable(true)]
public partial class RepInfo
{
    private static bool IsGotAllReps = false;

    public static List<Rep> Reps
    {
        get
        {
            IQueryable<int> srID = null;
            IQueryable<Rep> srName = null;

            if (!IsGotAllReps)
            {
                using (MiscDataContext dc = new MiscDataContext())
                {
                    srID = dc.MdmSalesAdjustment.Select(s => s.RepID).Distinct();
                }

                using (DWDataContext dc = new DWDataContext())
                {
                    srName = dc.ReportHierarchy.Select(s => new Rep { ID = s.RepEmployeeID, Name = s.RepFirstName + " " + s.RepLastName }).Distinct();
                }
            }

            IsGotAllReps = true;
            return srID.Join(srName, id => id, name => name.ID, (id, name) => new Rep { ID = name.ID, Name = name.Name }).ToList();
        }
    }

    //THIS IS AN EXISTING COLUMN IN THE TABLE THAT I WILL USE TO GET THE REPNAME - SEEL CALC COL BELOW
    public virtual int RepID
    {
        get;
        set;
    }

    //THIS IS THE CALCULATED COLUMN THAT I WANT TO SHOW.
    [ScaffoldColumn(true)]
    public virtual string RepName
    {
        get
        {
            return Reps.Where(r => r.ID == this.RepID).FirstOrDefault().Name;
        }
    }

}

一切仍然有效,表格按预期显示,只是我没有看到计算列。

谢谢!

0 个答案:

没有答案
相关问题