or
| <head runat="server"> |
| <title>Untitled Page</title> |
| <style type="text/css"> |
| html, body, form |
| { |
| padding: 0px; |
| margin: 0px; |
| height: 100%; |
| width: 100%; |
| } |
| .RadWindow |
| { |
| position: fixed !important; |
| } |
| </style> |
| </head> |
| <script type="text/javascript"> |
| function GetSelectedWindow() |
| { |
| var oManager = GetRadWindowManager(); |
| return oManager.getActiveWindow(); |
| } |
| function PositionWindow () |
| { |
| var oWindow = GetSelectedWindow(); |
| if (!oWindow) { |
| return; |
| } |
| var Y = document.body.clientHeight + |
| document.body.scrollTop - |
| oWindow.get_height(); |
| var X = document.body.clientWidth + |
| document.body.scrollLeft - |
| oWindow.get_width(); |
| Y = (Y > 0) ? Y : 0; |
| X = (X > 0) ? X : 0; |
| oWindow.moveTo(X, Y); |
| } |
| function InitWindow () |
| { |
| setTimeout(function() |
| { |
| var oWindow = GetRadWindowManager().getActiveWindow(); |
| if (!oWindow) |
| { |
| window.setTimeout('InitWindow()', 500); |
| } |
| PositionWindow();}, 0); |
| } |
| <telerik:RadGrid ID="radgridAuditReports" EnableEmbeddedSkins="false" runat="server" |
| Skin="WebBlue" Width="12000px" PageSize="10" AllowSorting="true" AllowPaging="true" |
| ShowGroupPanel="false" AllowMultiRowEdit="false" AutoGenerateColumns="true" GridLines="None" |
| OnNeedDataSource="radgridAuditReports_NeedDataSource" AllowAutomaticInserts="false"> |
| <SortingSettings EnableSkinSortStyles="false" /> |
| <HeaderStyle Width="125px" /> |
| <PagerStyle CssClass="Pager" Mode="NumericPages" Position="Bottom" HorizontalAlign="Left" |
| ShowPagerText="false"></PagerStyle> |
| <CommandItemStyle HorizontalAlign="Right" /> |
| <ItemStyle HorizontalAlign="Left" Height="25px" /> |
| <AlternatingItemStyle HorizontalAlign="Left" Height="25px" /> |
| <HeaderStyle HorizontalAlign="Left" /> |
| <MasterTableView Width="100%" TableLayout="Fixed" CommandItemSettings-ShowRefreshButton="false" |
| ItemStyle-HorizontalAlign="Left" GroupHeaderItemStyle-HorizontalAlign="Left" |
| AllowSorting="true"> |
| </MasterTableView> |
| </telerik:RadGrid> |
| <form id="form1" runat="server"> |
| <div> |
| <telerik:RadScriptManager ID="radScriptManager" runat="server" /> |
| <telerik:RadGrid ID="radGrid" AutoGenerateColumns="false" AllowSorting="true" OnNeedDataSource="radGrid_NeedDataSource" runat="server"> |
| <ClientSettings> |
| <Scrolling UseStaticHeaders="true" /> |
| </ClientSettings> |
| <MasterTableView AllowMultiColumnSorting="true" TableLayout="Fixed"> |
| <Columns> |
| <telerik:GridBoundColumn DataField="Name" DataType="System.String" HeaderText="Name" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" SortExpression="Name" AllowSorting="true" UniqueName="Name" /> |
| <telerik:GridBoundColumn DataField="Founder" DataType="System.String" HeaderText="Founder" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" SortExpression="Founder" AllowSorting="true" UniqueName="Founder" /> |
| </Columns> |
| </MasterTableView> |
| </telerik:RadGrid> |
| </div> |
| </form> |
| public partial class RadGridWithSorting : Page |
| { |
| private const string SettingsFilename = "Settings.bin"; |
| private Settings _settings = null; |
| private List<Company> _companies = null; |
| protected Settings Settings |
| { |
| get |
| { |
| if (this._settings == null) |
| { |
| this._settings = new Settings(); |
| } |
| return this._settings; |
| } |
| set |
| { |
| this._settings = value; |
| } |
| } |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| LoadSettings(); |
| LoadSortExpressions(); |
| if (!IsPostBack) |
| { |
| this._companies = Company.Load(); |
| Session["COMPANIES"] = this._companies; |
| } |
| else |
| { |
| this._companies = (List<Company>)Session["COMPANIES"]; |
| } |
| } |
| protected void Page_UnLoad(object sender, EventArgs e) |
| { |
| SaveSortExpressions(); |
| SaveSettings(); |
| } |
| protected void radGrid_NeedDataSource(object source, GridNeedDataSourceEventArgs e) |
| { |
| this.radGrid.DataSource = this._companies; |
| } |
| private void LoadSettings() |
| { |
| Settings = Helper.Load(SettingsFilename); |
| } |
| private void LoadSortExpressions() |
| { |
| this.radGrid.MasterTableView.SortExpressions.Clear(); |
| foreach (SortExpression sortExpression in Settings.SortExpressions) |
| { |
| GridSortExpression gridSortExpression = new GridSortExpression(); |
| gridSortExpression.FieldName = sortExpression.FieldName; |
| gridSortExpression.SortOrder = sortExpression.SortOrder; |
| this.radGrid.MasterTableView.SortExpressions.AddSortExpression(gridSortExpression); |
| } |
| } |
| private void SaveSettings() |
| { |
| Helper.Save(Settings, SettingsFilename); |
| } |
| private void SaveSortExpressions() |
| { |
| Settings.SortExpressions.Clear(); |
| foreach (GridSortExpression sortExpression in this.radGrid.MasterTableView.SortExpressions) |
| { |
| Settings.SortExpressions.Add(new SortExpression(sortExpression.FieldName, sortExpression.SortOrder)); |
| } |
| } |
| } |
| [Serializable] |
| public class Settings |
| { |
| public List<SortExpression> SortExpressions { get; set; } |
| public Settings() |
| { |
| SortExpressions = new List<SortExpression> {}; |
| } |
| public Settings(List<SortExpression> sortExpressions) |
| { |
| SortExpressions = sortExpressions; |
| } |
| } |
| [Serializable] |
| public class SortExpression |
| { |
| public string FieldName { get; set; } |
| public GridSortOrder SortOrder { get; set; } |
| public SortExpression() |
| { |
| FieldName = null; |
| SortOrder = GridSortOrder.None; |
| } |
| public SortExpression(string fieldName, GridSortOrder sortOrder) |
| { |
| FieldName = fieldName; |
| SortOrder = sortOrder; |
| } |
| } |
| <telerik:GridTableView Name="Locations" HierarchyLoadMode="ServerBind"> |