Oct 20, 2015, 8:55 AM
[GridPanel] Change column order
Hi,
it's possible programmatically to change the column order within a GridPanel? I tryed GridPanel.ColumnModel.Move(...) but it causes an Exception
Thanks
it's possible programmatically to change the column order within a GridPanel? I tryed GridPanel.ColumnModel.Move(...) but it causes an Exception
Thanks
<%@ Page Language="C#" %>
<!DOCTYPE html>
<script runat="server">
public class MyRecord
{
public int ID { get; set; }
public String Field00 { get; set; }
public String Field01 { get; set; }
public String Field02 { get; set; }
public String Field03 { get; set; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (!X.IsAjaxRequest)
{
List<MyRecord> l_MyRecordList = new List<MyRecord>();
l_MyRecordList.Add(new MyRecord { ID = 0, Field00 = "Field00 00", Field01 = "Field01 00", Field02 = "Field02 00", Field03 = "Field03 00" });
l_MyRecordList.Add(new MyRecord { ID = 1, Field00 = "Field00 00", Field01 = "Field01 01", Field02 = "Field02 01", Field03 = "Field03 01" });
l_MyRecordList.Add(new MyRecord { ID = 2, Field00 = "Field00 00", Field01 = "Field01 02", Field02 = "Field02 02", Field03 = "Field03 02" });
l_MyRecordList.Add(new MyRecord { ID = 3, Field00 = "Field00 00", Field01 = "Field01 03", Field02 = "Field02 03", Field03 = "Field03 03" });
l_MyRecordList.Add(new MyRecord { ID = 4, Field00 = "Field00 00", Field01 = "Field01 04", Field02 = "Field02 04", Field03 = "Field03 04" });
l_MyRecordList.Add(new MyRecord { ID = 5, Field00 = "Field00 00", Field01 = "Field01 05", Field02 = "Field02 05", Field03 = "Field03 05" });
l_MyRecordList.Add(new MyRecord { ID = 6, Field00 = "Field00 00", Field01 = "Field01 06", Field02 = "Field02 06", Field03 = "Field03 06" });
l_MyRecordList.Add(new MyRecord { ID = 7, Field00 = "Field00 00", Field01 = "Field01 07", Field02 = "Field02 07", Field03 = "Field03 07" });
l_MyRecordList.Add(new MyRecord { ID = 8, Field00 = "Field00 00", Field01 = "Field01 08", Field02 = "Field02 08", Field03 = "Field03 08" });
l_MyRecordList.Add(new MyRecord { ID = 9, Field00 = "Field00 00", Field01 = "Field01 09", Field02 = "Field02 09", Field03 = "Field03 09" });
m_Store.DataSource = l_MyRecordList;
m_Store.DataBind();
// CHANGE COLUMN ORDER HERE
// I tryed this ... m_GridPanel.ColumnModel.Move(0, 1);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>GridPanel Example</title>
</head>
<body>
<form id="m_Form" runat="server">
<ext:ResourceManager ID="m_ResourceManager" runat="server" />
<ext:Store ID="m_Store" runat="server" PageSize="25">
<Model>
<ext:Model ID="m_Model" runat="server" IDProperty="ID">
<Fields>
<ext:ModelField Name="ID" />
<ext:ModelField Name="Field00" />
<ext:ModelField Name="Field01" />
<ext:ModelField Name="Field02" />
<ext:ModelField Name="Field03" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:GridPanel ID="m_GridPanel" runat="server" Title="GridPanel Example" StoreID="m_Store">
<ColumnModel>
<Columns>
<ext:Column ID="m_ColumnID" runat="server" DataIndex="ID" Text="ID" Width="50" Align="Center" />
<ext:Column ID="m_ColumnField00" runat="server" DataIndex="Field00" Text="Field 00" Width="150" />
<ext:Column ID="m_ColumnField01" runat="server" DataIndex="Field01" Text="Field 01" Width="150" />
<ext:Column ID="m_ColumnField02" runat="server" DataIndex="Field02" Text="Field 02" Width="150" />
<ext:Column ID="m_ColumnField03" runat="server" DataIndex="Field03" Text="Field 03" Width="150" />
</Columns>
</ColumnModel>
<SelectionModel>
<ext:CheckboxSelectionModel ID="m_CheckboxSelectionModel" runat="server" Mode="Single" />
</SelectionModel>
<BottomBar>
<ext:PagingToolbar ID="m_PagingToolbar" runat="server" />
</BottomBar>
<Features>
<ext:GridFilters ID="m_GridFilters" Local="true">
<Filters>
<ext:NumericFilter DataIndex="ID" />
<ext:StringFilter DataIndex="Field00" />
<ext:StringFilter DataIndex="Field01" />
<ext:StringFilter DataIndex="Field02" />
<ext:StringFilter DataIndex="Field03" />
</Filters>
</ext:GridFilters>
</Features>
</ext:GridPanel>
</form>
</body>
</html>