LiveGrid Options

The LiveGrid supports high level of customization. This demo shows at runtime what you would be able to achive.




Highlight:




Bookmark text:


Visible rows:
Data provider: OptionsDataProvider.axd


Column1
Header:
Mapping:Name


Grouping type:
Group:
Column2
Header:
Mapping:Email


Grouping type:
Group:
Column3
Header:
Mapping:Phone


Grouping type:
Group:


NameEmailPhone
			<%@ 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;
        }

    }

}