GridView DataBinding

时间:2011-04-01 13:41:11

标签: c# data-binding gridview telerik


我有一个GridView的问题(我使用Telerick,但我认为.NET GridView在这种情况下是类似的。)
我有一个List,其中包含一些用户定义对象,其中一些属性将显示在GridView中。此列表从SQL加载 我的问题是我有一个int属性,我希望在GridView中解析并显示一些字符串。

public class Vehicles
{
    private int id;
    public int Id
    {
        get { return id; }
        set { id = value; }
    }

    private string vehName;
    public string VehName
    {
        get { return vehName; }
        set { vehName = value; }
    }

    private int gpsInterval;
    public int GpsInterval
    {
        get { return gpsInterval; }
        set { gpsInterval = value; }
    }

    private int isStolen;
    public int IsStolen
    {
        get { return isStolen; }
        set { isStolen = value; }
    } 
... 

}

...
List<Vehicles> vehs = DBveh.getAllVehicles();
GridViewUnitsList.DataSource = vehs;

被盗是在GridView中以int形式显示的。那么有没有一种方法可以解析“isStolen”值并用“YES”/“NO”代替它而不使用foreach并在绑定后迭代抛出GridView?

2 个答案:

答案 0 :(得分:4)

有两个简单的选择:

1)向对象添加属性并在DataGrid中引用该属性:

public string IsStolenStr
{
    get { return isStolen == 1? "Yes" : "No"; }
}

2)或者将逻辑添加到&lt; asp:template&gt; DataGrid中的列:

<%# Eval("IsStolen") == 1 ? "Yes" : "No" %>

答案 1 :(得分:1)

我会修改SQL语句,以便它根据isStolen值返回Yes / No字符串。