LiveGrid Options
The LiveGrid supports high
level of customization. This demo shows at runtime what you would be able to achive.
<%@ Page Language="C#" MasterPageFile="~/Demo.master" AutoEventWireup="true"
Inherits="SharpPieces.DemoApp.LiveGridOptions"
CodeBehind="livegridoptions.aspx.cs" %>
<%@ MasterType VirtualPath="~/Demo.Master" %>
<asp:Content ID="Content2" ContentPlaceHolderID="headPlaceHolder" runat="Server">
<title>SharpPieces - LiveGrid Options - Live Demo</title>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="descriptionPlaceholder" runat="Server">
<h1>LiveGrid Options</h1>
<p>The LiveGrid supports high
level of customization. This demo shows at runtime what you would be able to achive.</p>
</asp:Content>
<asp:Content ID="Content1" ContentPlaceHolderID="demoPlaceholder" runat="Server">
<div id="Div1" runat="server" class="default">
<div style="width: 700px; height: 200px; border-right: black 1px solid; border-top:
black 1px solid; overflow: auto; border-left: black 1px solid;
border-bottom: black 1px solid;">
<asp:Label ID="Label10" runat="server" Text="Highlight:"></asp:Label>
<asp:DropDownList ID="DropDownList2" runat="server">
<asp:ListItem Text="None" Value="None"></asp:ListItem>
<asp:ListItem Text="CursorCell" Value="CursorCell"></asp:ListItem>
<asp:ListItem Text="CursorRow" Value="CursorRow"></asp:ListItem>
<asp:ListItem Text="MenuCell" Value="MenuCell"></asp:ListItem>
<asp:ListItem Text="MenuRow" Value="MenuRow"></asp:ListItem>
<asp:ListItem Text="Selection" Value="Selection"></asp:ListItem>
</asp:DropDownList><br />
<asp:CheckBox ID="CheckBox7" runat="server" Text="Use column group:" TextAlign="Left" />
<br />
<asp:CheckBox ID="CheckBox2" runat="server" Text="Allow resizeing:" TextAlign="Left" />
<br />
<asp:CheckBox ID="CheckBox6" runat="server" Text="Bookmark visible:" TextAlign="Left" />
<br />
<asp:CheckBox ID="CheckBox3" runat="server" Text="Bookmark scroll:" TextAlign="Left" />
<br />
<asp:Label ID="Label8" runat="server" Text="Bookmark text:"></asp:Label>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
<asp:CheckBox ID="CheckBox4" runat="server" Text="Bookmark on top:" TextAlign="Left"
Checked="True" />
<br />
<asp:CheckBox ID="CheckBox1" runat="server" Text="Allow sorting:" TextAlign="Left" />
<br />
<asp:Label ID="Label5" runat="server" Text="Visible rows:"></asp:Label>
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem Value="-3">FitToBody</asp:ListItem>
<asp:ListItem Value="-2">FitToData</asp:ListItem>
<asp:ListItem Value="-1">FitToWindow</asp:ListItem>
<asp:ListItem>1</asp:ListItem>
<asp:ListItem Selected="True">5</asp:ListItem>
<asp:ListItem>10</asp:ListItem>
<asp:ListItem>15</asp:ListItem>
<asp:ListItem>20</asp:ListItem>
</asp:DropDownList><br />
<asp:Label ID="Label1" runat="server" Text="Data provider: "></asp:Label><asp:Label
ID="Label2" runat="server" Text="OptionsDataProvider.axd" Enabled="False"></asp:Label>
<br />
<asp:CheckBox ID="CheckBox8" runat="server" Text="Index:" TextAlign="Left" />
<br />
<br />
<strong>Column1</strong><br />
<asp:Label ID="Label16" runat="server" Text="Header:"></asp:Label><asp:TextBox ID="TextBox2"
runat="server">Name</asp:TextBox><br />
<asp:Label ID="Label17" runat="server" Text="Mapping:"></asp:Label><asp:Label ID="Label12"
runat="server" Text="Name"></asp:Label><br />
<asp:CheckBox ID="CheckBox5" runat="server" Text="Resizable:" TextAlign="Left" />
<br />
<asp:CheckBox ID="CheckBox9" runat="server" Text="Sortable:" TextAlign="Left" />
<br />
<asp:Label ID="Label14" runat="server" Text="Grouping type:"></asp:Label>
<asp:DropDownList ID="DropDownList3" runat="server">
<asp:ListItem Value="None">None</asp:ListItem>
<asp:ListItem Value="New">New</asp:ListItem>
<asp:ListItem Value="Inherit">Inherit</asp:ListItem>
</asp:DropDownList><br />
<asp:Label ID="Label15" runat="server" Text="Group:"></asp:Label><asp:TextBox ID="TextBox3"
runat="server"></asp:TextBox><br />
<strong>Column2</strong><br />
<asp:Label ID="Label3" runat="server" Text="Header:"></asp:Label><asp:TextBox ID="TextBox4"
runat="server">Email</asp:TextBox><br />
<asp:Label ID="Label4" runat="server" Text="Mapping:"></asp:Label><asp:Label ID="Label6"
runat="server" Text="Email"></asp:Label><br />
<asp:CheckBox ID="CheckBox10" runat="server" Text="Resizable:" TextAlign="Left" /><br />
<asp:CheckBox ID="CheckBox11" runat="server" Text="Sortable:" TextAlign="Left" /><br />
<asp:Label ID="Label20" runat="server" Text="Grouping type:"></asp:Label>
<asp:DropDownList ID="DropDownList4" runat="server">
<asp:ListItem Value="None">None</asp:ListItem>
<asp:ListItem Value="New">New</asp:ListItem>
<asp:ListItem Value="Inherit">Inherit</asp:ListItem>
</asp:DropDownList><br />
<asp:Label ID="Label21" runat="server" Text="Group:"></asp:Label><asp:TextBox ID="TextBox7"
runat="server"></asp:TextBox><br />
<strong>Column3</strong><br />
<asp:Label ID="Label22" runat="server" Text="Header:"></asp:Label><asp:TextBox ID="TextBox8"
runat="server">Phone</asp:TextBox><br />
<asp:Label ID="Label23" runat="server" Text="Mapping:"></asp:Label><asp:Label ID="Label24"
runat="server" Text="Phone"></asp:Label><br />
<asp:CheckBox ID="CheckBox12" runat="server" Text="Resizable:" TextAlign="Left" />
<br />
<asp:CheckBox ID="CheckBox13" runat="server" Text="Sortable:" TextAlign="Left" />
<br />
<asp:Label ID="Label28" runat="server" Text="Grouping type:"></asp:Label>
<asp:DropDownList ID="DropDownList5" runat="server">
<asp:ListItem Value="None">None</asp:ListItem>
<asp:ListItem Value="New">New</asp:ListItem>
<asp:ListItem Value="Inherit">Inherit</asp:ListItem>
</asp:DropDownList><br />
<asp:Label ID="Label29" runat="server" Text="Group:"></asp:Label><asp:TextBox ID="TextBox10"
runat="server"></asp:TextBox><br />
</div>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Apply" />
<br />
<br />
<div id="optionsGridContainer" style="width: 100%;">
<piece:LiveGrid ID="LiveGrid1" runat="server" DataProviderPath="OptionsDataProvider.axd"
UseCustomStyles="True">
<Columns>
<piece:LiveGridColumn CssClass="optionsColumn_name">
<Mapping MappingType="Expression">
<ExpressionMapping Expression="{0}" ExpressionFieldNames="Name"
SortFieldName="LastName" />
</Mapping>
</piece:LiveGridColumn>
<piece:LiveGridColumn CssClass="optionsColumn_email">
<Mapping>
<FieldMapping FieldName="EmailAddress" />
</Mapping>
</piece:LiveGridColumn>
<piece:LiveGridColumn CssClass="optionsColumn_phone">
<Mapping>
<FieldMapping FieldName="Phone" />
</Mapping>
</piece:LiveGridColumn>
</Columns>
</piece:LiveGrid>
</div>
</div>
</asp:Content>
using System;
using System.Web.UI;
using SharpPieces.Web.Controls;
namespace SharpPieces.DemoApp
{
/// <summary>
/// The LiveGrid Options page.
/// </summary>
public partial class LiveGridOptions : Page
{
// Methods
/// <summary>
/// Raises the <see cref="E:System.Web.UI.Control.Load"/> event.
/// </summary>
/// <param name="e">
/// The <see cref="T:System.EventArgs"/> object that contains the event data.
/// </param>
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
//this.Master.AddCodePreview(this.Page.MapPath("~/Code/OptionsDataProvider.cs"));
//this.Master.AddCodePreview(this.Page.MapPath(
//string.Format("~/App_Themes/{0}/livegrid/grid-default.css", this.Theme)));
if (!this.IsPostBack)
{
this.OptionsToGrid();
}
}
/// <summary>
/// Handles the Click event of the Button1 control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
protected void Button1_Click(object sender, EventArgs e)
{
this.OptionsToGrid();
}
private void OptionsToGrid()
{
this.LiveGrid1.Highlight =
(HighlightType)Enum.Parse(typeof(HighlightType), this.DropDownList2.SelectedValue);
this.LiveGrid1.AllowGrouping = this.CheckBox7.Checked;
this.LiveGrid1.AllowResizing = this.CheckBox2.Checked;
this.LiveGrid1.Bookmarking.AllowBookmarking = this.CheckBox6.Checked;
this.LiveGrid1.Bookmarking.AllowBookmarkScroll = this.CheckBox3.Checked;
this.LiveGrid1.Bookmarking.BookmarkExpression = this.TextBox1.Text;
this.LiveGrid1.Bookmarking.BookmarkPosition =
(this.CheckBox4.Checked) ? BookmarkPosition.Top : BookmarkPosition.Bottom;
this.LiveGrid1.Sorting.AllowSorting = this.CheckBox1.Checked;
this.LiveGrid1.VisibleRows = int.Parse(this.DropDownList1.SelectedValue);
this.LiveGrid1.IsIndexed = this.CheckBox8.Checked;
// columns
this.LiveGrid1.Columns[0].HeaderText = this.TextBox2.Text;
this.LiveGrid1.Columns[0].AllowResizing = this.CheckBox5.Checked;
this.LiveGrid1.Columns[0].AllowSorting = this.CheckBox9.Checked;
this.LiveGrid1.Columns[0].Grouping.GroupingType =
(LiveGridColumn.ColumnGroupingType)Enum.Parse(typeof(LiveGridColumn.ColumnGroupingType),
this.DropDownList3.SelectedValue);
this.LiveGrid1.Columns[0].Grouping.GroupText = this.TextBox3.Text;
this.LiveGrid1.Columns[1].HeaderText = this.TextBox4.Text;
this.LiveGrid1.Columns[1].AllowResizing = this.CheckBox10.Checked;
this.LiveGrid1.Columns[1].AllowSorting = this.CheckBox11.Checked;
this.LiveGrid1.Columns[1].Grouping.GroupingType =
(LiveGridColumn.ColumnGroupingType)Enum.Parse(typeof(LiveGridColumn.ColumnGroupingType),
this.DropDownList4.SelectedValue);
this.LiveGrid1.Columns[1].Grouping.GroupText = this.TextBox7.Text;
this.LiveGrid1.Columns[2].HeaderText = this.TextBox8.Text;
this.LiveGrid1.Columns[2].AllowResizing = this.CheckBox12.Checked;
this.LiveGrid1.Columns[2].AllowSorting = this.CheckBox13.Checked;
this.LiveGrid1.Columns[2].Grouping.GroupingType =
(LiveGridColumn.ColumnGroupingType)Enum.Parse(typeof(LiveGridColumn.ColumnGroupingType),
this.DropDownList5.SelectedValue);
this.LiveGrid1.Columns[2].Grouping.GroupText = this.TextBox10.Text;
}
}
}