2014-03-07 9 views
0

我有一个GridPanel中与列状态这样的:如何在关联的数据库值在int-Ext.Net中时在gridpanel列中显示文本(字符串)?

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

和我有一个SQL表与列状态这是INT可以包含值“1”和“2”意思是“待定”和“确认”。现在,当我绑定的GridPanel栏示出的数值(1或2),但我想显示待定为和确认在列中的状态。我怎样才能做到这一点?我被卡住了。

回答

1

有一个用于显示表示的附加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> 
0

哦,我不知怎么解决它通过创建一个部分类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"; 
} 

现在,它以某种方式解决了这个问题,但是,如果它不是正确的方式或最好的方式,你的答案永远是受欢迎的。谢谢。

相关问题