Jul 19, 2012, 11:27 AM
Problem of Field Mapping
i read the example
https://examples2.ext.net/#/GridPane...Field_Mapping/,and tryed using Field Mapping with datatable,but the gridpanel has no dada.How i can do it?
Code
https://examples2.ext.net/#/GridPane...Field_Mapping/,and tryed using Field Mapping with datatable,but the gridpanel has no dada.How i can do it?
Code
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<script runat="server">
public class SItem
{
public string ID { get; set; }
public string Name { get; set; }
}
private DataTable GetDataTable()
{
DataTable table = new DataTable();
table.Columns.Add(new DataColumn("Item") { ColumnName = "Item", DataType = typeof(SItem) });
foreach (object[] obj in this.Data)
{
table.Rows.Add(obj);
}
return table;
}
private object[] Data
{
get
{
return new object[]
{
new object[] { new SItem("id001", "ABC1") },
new object[] { new SItem("id002", "ABC2") },
new object[] { new SItem("id003", "ABC3") },
};
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!X.IsAjaxRequest)
{
this.Store1.DataSource = this.GetDataTable();
this.Store1.DataBind();
}
}
protected void Store1_RefreshData(object sender, StoreReadDataEventArgs e)
{
this.Store1.DataSource = this.GetDataTable();
this.Store1.DataBind();
}
</script>
<!DOCTYPE html>
<html>
<head id="Head1" runat="server">
<script type="text/javascript">
var itemRenderer = function (value) {
if (!Ext.isEmpty(value)) {
return value.Name;
}
return value;
};
</script>
</head>
<body>
<form id="Form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server" />
<ext:Store ID="Store1" runat="server" OnReadData="Store1_RefreshData" PageSize="10">
<Model>
<ext:Model ID="Model1" runat="server">
<Fields>
<ext:ModelField Name="Item" IsComplex="true" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Hidden ID="FormatType" runat="server" />
<ext:GridPanel ID="GridPanel1" runat="server" StoreID="Store1">
<ColumnModel ID="ColumnModel1" runat="server">
<Columns>
<ext:Column ID="Item" runat="server" DataIndex="Item" Text="Item">
<Renderer Fn="itemRenderer" />
</ext:Column>
</Columns>
</ColumnModel>
<BottomBar>
<ext:PagingToolbar ID="PagingToolbar1" runat="server" StoreID="Store1" />
</BottomBar>
</ext:GridPanel>
</form>
</body>
</html>
Last edited by howardyin; Jul 20, 2012 at 2:44 AM.
Reason: fix code error