我有一个GridPanel中与列状态这样的:如何在关联的数据库值在int-Ext.Net中时在gridpanel列中显示文本(字符串)?
<ext:ModelField Name="Status" Type="String" />
和我有一个SQL表与列状态这是INT可以包含值“1”和“2”意思是“待定”和“确认”。现在,当我绑定的GridPanel栏示出的数值(1或2),但我想显示待定为和确认在列中的状态。我怎样才能做到这一点?我被卡住了。
我有一个GridPanel中与列状态这样的:如何在关联的数据库值在int-Ext.Net中时在gridpanel列中显示文本(字符串)?
<ext:ModelField Name="Status" Type="String" />
和我有一个SQL表与列状态这是INT可以包含值“1”和“2”意思是“待定”和“确认”。现在,当我绑定的GridPanel栏示出的数值(1或2),但我想显示待定为和确认在列中的状态。我怎样才能做到这一点?我被卡住了。
有一个用于显示表示的附加ModelField是可能的解决方案之一。
另一个是使用Column的Renderer。
例
<%@ Page Language="C#" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!X.IsAjaxRequest)
{
Store store = this.GridPanel1.GetStore();
store.DataSource = new object[]
{
new object[] { "test", "1" },
new object[] { "test", "2" },
new object[] { "test", "3" }
};
}
}
</script>
<!DOCTYPE html>
<html>
<head runat="server">
<title>Ext.NET v2 Example</title>
</head>
<body>
<form runat="server">
<ext:ResourceManager runat="server" />
<ext:GridPanel ID="GridPanel1" runat="server">
<Store>
<ext:Store runat="server">
<Model>
<ext:Model runat="server">
<Fields>
<ext:ModelField Name="test" />
<ext:ModelField Name="status" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
<ColumnModel runat="server">
<Columns>
<ext:Column runat="server" Text="Test" DataIndex="test" />
<ext:Column runat="server" Text="Status" DataIndex="status">
<Renderer Handler="if (value === '1') {
return 'Status 1';
} else if (value === '2') {
return 'Status 2';
} else {
return 'Unknown status';
}" />
</ext:Column>
</Columns>
</ColumnModel>
</ext:GridPanel>
</form>
</body>
</html>
哦,我不知怎么解决它通过创建一个部分类SQL表,并添加一个属性Statuss这样的:
public partial class tblName
{
public string Statuss
{
get;
set;
}
}
,并在修改后的像
<ext:ModelField Name="Statuss" Type="String" />
然后模型数据绑定的一部分我添加if-else部分使用linq像
if(tbl_entity.Status==1)
{
tbl_entity.Statuss = "Pending";
}
else
{
tbl_entity.Statuss = "Confirmed";
}
现在,它以某种方式解决了这个问题,但是,如果它不是正确的方式或最好的方式,你的答案永远是受欢迎的。谢谢。