<Columns>
<telerik:GridBoundColumn DataField="shift_start_time" HeaderText="Shift Start Time"
AutoPostBackOnFilter="true" CurrentFilterFunction="Contains">
</Columns>
此列中的值为&#34; N&#34;或&#34; M&#34;,来自数据库。我想要显示&#34; NIGHT&#34;如果值为&#34; N&#34;或&#34;早晨&#34;如果值是&#34; M&#34;从这里。我怎样才能做到这一点?
我想使用&#34; value&#34;的概念。 &#34;文本&#34;我们用组合框做的。有可能吗?
答案 0 :(得分:0)
您可以使用实体方式解决它。 在您的实体中,定义一个函数:
public void MorningORNight(){
if(this.shift_start_time is "M"){DisplayField = "Morning"}
else{DisplayField = "Night"}
}
然后,您的实体中也会有一个只读字段。
[ReadOnly]
public string DisplayField{ get;set; }
然后,在一开始,当您获取shift_start_time时,
public string shift_start_time{
get{ return _shiftstarttime;}
set{_shiftstarttime = value;
this.MorningORNight();}
}
然后,您的gridview数据字段应为DisplayField。 感谢
答案 1 :(得分:0)
或者,使用ItemDataBound
事件更改文字:
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
GridDataItem item = e.Item as GridDataItem;
if(item != null)
{
item["shift_start_time"].Text = item["shift_start_time"].Text.ToString() == "M" ? "Morning" : "Night";
}
}
注意:这当然需要重构:)