当关联的数据库值在int- ext.NET中时,如何在Gridpanel列中显示文本(String)



我有一个带有列 status 的烤面包:

<ext:ModelField Name="Status" Type="String" />

我有一个带有列状态的SQL表,它是 int ,它可以包含值'1'和'2'含义为"待处理"one_answers"已确认"。现在,当我绑定Gridpanel时,列显示了数字值(1或2),但是,我想显示待处理 1 确认 for 2 在列状态中。我怎样才能做到这一点?我被卡住了。

在显示表示表示方案之一是有一个可能的解决方案之一。

另一个是使用列的渲染器。

示例

<%@ 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" />

然后,在数据框架部分中,我添加了使用linq喜欢

的if-else部分
if(tbl_entity.Status==1)
{
   tbl_entity.Statuss = "Pending";
}
else
{
   tbl_entity.Statuss = "Confirmed";
}

目前,它以某种方式解决了问题,但是,如果这不是正确的方法或最好的方法,那么您的答案总是受到欢迎。谢谢。

最新更新