Hi,

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>