Essential Studio for Asp.Net | Demos

SHOWCASE SAMPLES
Showcase samples
    KanbanBoard / KeyboardInteraction
    Keys
    Description
    Alt + j

    Focus

    Insert
    Insert Card
    Delete

    Delete Card

    Home
    First Card Selection
    End
    Last Card Selection
    Ctrl + Down Arrow
    Swimlane Expand All
    Ctrl + Up Arrow
    Swimlane Collapse All
    F2
    Edit Card
    Enter
    Save Request
    Esc
    Cancel Request
    Shift + UpArrow
    Multi Selection By Up Arrow
    Shift + Down Arrow
    Multi Selection By Down Arrow
    Shift + Left Arrow
    Multi Selection By Left Arrow
    Shift + Right Arrow
    Multi Selection By Right Arrow
    <%@ Page Title="KanbanBoard-Keyboard Interaction-ASP.NET-SYNCFUSION" MetaDescription="This example demonstrates how to access the Syncfusion ASP.NET Web Forms Kanban component functionalities using keyboard interactions." Language="C#" MasterPageFile="~/Samplebrowser.Master" AutoEventWireup="true" CodeBehind="KeyboardInteraction.aspx.cs" Inherits="WebSampleBrowser.Kanban.KeyboardInteraction" %>
    
    <asp:Content ID="Content5" runat="server" ContentPlaceHolderID="HeadSection">
        <script src="../Scripts/jquery.validate.min.js" type="text/javascript"></script>
    </asp:Content>
    <asp:Content ID="Content1" ContentPlaceHolderID="SampleHeading" runat="server">
        <span class="sampleName">KanbanBoard / KeyboardInteraction</span>
    </asp:Content>
    <asp:Content ID="Content2" runat="server" ContentPlaceHolderID="ControlsSection">
        <ej:Kanban ID="KanbanBoard" runat="server" SelectionType="Multiple" AllowScrolling="true" AllowKeyboardNavigation="true" AllowTitle="true" KeyField="Status">
            <ScrollSettings Width="700" Height="500" />
            <Columns>
                <ej:KanbanColumn HeaderText="Backlog" Key="Open" />
                <ej:KanbanColumn HeaderText="In Progress" Key="InProgress" />
                <ej:KanbanColumn HeaderText="Testing" Key="Testing" />
                <ej:KanbanColumn HeaderText="Done" Key="Close" />
            </Columns>
            <Fields Content="Summary" ImageUrl="ImgUrl" PrimaryKey="Id" SwimlaneKey="Assignee" />
            <EditSettings AllowAdding="true" AllowEditing="true" EditMode="Dialog">
                <EditItems>
                    <ej:KanbanEditItem EditType="String" Field="Id">
                        <ValidationRules>
                            <ej:KeyValue Key="required" Value="true" />
                        </ValidationRules>
                    </ej:KanbanEditItem>
                    <ej:KanbanEditItem EditType="Dropdown" Field="Status"></ej:KanbanEditItem>
                    <ej:KanbanEditItem EditType="Dropdown" Field="Assignee"></ej:KanbanEditItem>
                    <ej:KanbanEditItem EditType="Numeric" Field="Estimate">
                        <NumericEditOptions DecimalPlaces="2" />
                        <ValidationRules>
                            <ej:KeyValue Key="range" Value="[0, 1000]" />
                        </ValidationRules>
                    </ej:KanbanEditItem>
                    <ej:KanbanEditItem EditType="TextArea" Field="Summary">
                        <ValidationRules>
                            <ej:KeyValue Key="required" Value="true" />
                        </ValidationRules>
                    </ej:KanbanEditItem>
                </EditItems>
            </EditSettings>
        </ej:Kanban>
    </asp:Content>
    <asp:Content ID="Content3" ContentPlaceHolderID="PropertySection" runat="server">
        <div id="sampleProperties">
            <div class="prop-kanban">
                <div class="row">
                    <div class="col-md-3 colwidth">
                        <b>Keys</b>
                    </div>
                    <div class="col-md-3 colwidth">
                        <b>Description</b>
                    </div>
                    <div class="col-md-3 colwidth">
                        <b>Alt + j</b>
                    </div>
                    <div class="col-md-3 colwidth">
                        <p>Focus</p>
                    </div>
                </div>
                <div class="row">
                    <div class="col-md-3 colwidth">
                        <b>Insert</b>
                    </div>
                    <div class="col-md-3 colwidth">
                        Insert Card
                    </div>
                    <div class="col-md-3 colwidth">
                        <b>Delete</b>
                    </div>
                    <div class="col-md-3 colwidth">
                        <p>Delete Card</p>
                    </div>
                </div>
                <div class="row">
                    <div class="col-md-3 colwidth">
                        <b>Home</b>
                    </div>
                    <div class="col-md-3 colwidth">
                        First Card Selection
                    </div>
                    <div class="col-md-3 colwidth">
                        <b>End</b>
                    </div>
                    <div class="col-md-3 colwidth">
                        Last Card Selection
                    </div>
                </div>
                <div class="row">
                    <div class="col-md-3 colwidth">
                        <b>Ctrl + Down Arrow</b>
                    </div>
                    <div class="col-md-3 colwidth">
                        Swimlane Expand All
                    </div>
                    <div class="col-md-3 colwidth">
                        <b>Ctrl + Up Arrow</b>
                    </div>
                    <div class="col-md-3 colwidth">
                        Swimlane Collapse All
                    </div>
                </div>
                <div class="row">
                    <div class="col-md-3 colwidth">
                        <b>F2</b>
                    </div>
                    <div class="col-md-3 colwidth">
                        Edit Card
                    </div>
                    <div class="col-md-3 colwidth">
                        <b>Enter</b>
                    </div>
                    <div class="col-md-3 colwidth">
                        Save Request
                    </div>
                </div>
                <div class="row">
                    <div class="col-md-3 colwidth">
                        <b>Esc</b>
                    </div>
                    <div class="col-md-3 colwidth">
                        Cancel Request
                    </div>
                    <div class="col-md-3 colwidth">
                        <b>Shift + UpArrow</b>
                    </div>
                    <div class="col-md-3 colwidth">
                        Multi Selection By Up Arrow
                    </div>
                </div>
                <div class="row">
                    <div class="col-md-3 colwidth">
                        <b>Shift + Down Arrow</b>
                    </div>
                    <div class="col-md-3 colwidth">
                        Multi Selection By Down Arrow
                    </div>
                    <div class="col-md-3 colwidth">
                        <b>Shift + Left Arrow</b>
                    </div>
                    <div class="col-md-3 colwidth">
                        Multi Selection By Left Arrow
                    </div>
                </div>
                <div class="row">
                    <div class="col-md-3 colwidth">
                        <b>Shift + Right Arrow</b>
                    </div>
                    <div class="col-md-3 colwidth">
                        Multi Selection By Right Arrow
                    </div>
                </div>
            </div>
        </div>
    </asp:Content>
    <asp:Content ID="ScriptContent" runat="server" ContentPlaceHolderID="ScriptSection">
        <script type="text/javascript">
            $(function () {
                $("#sampleProperties").ejPropertiesPanel();
            });
            $(document).on("keydown", function (e) {
                if (e.altKey && e.keyCode === 74) { // j- key code.
                    $("#LayoutSection_ControlsSection_KanbanBoard").focus();
                }
            });
        </script>
    </asp:Content>
    <asp:Content ID="Content4" ContentPlaceHolderID="StyleSection" runat="server">
        <style type="text/css">
            .cols-prop-area [class^="span"] {
                margin-bottom: 5px;
                margin-top: 5px;
            }
            .propertiesdiv {
                height: 626px;
            }
            .propertypanelcontent {
                height: 585px;
            }
            *.colwidth {
                width: 32.9%;
            }
        </style>
    </asp:Content>
    
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    namespace WebSampleBrowser.Kanban
    {
        public partial class KeyboardInteraction : System.Web.UI.Page
        {
            List<Tasks> Task = new List<Tasks>();
            protected void Page_Load(object sender, EventArgs e)
            {
                BindDataSource();
            }
            private void BindDataSource()
            {
                Task.Add(new Tasks(1, "Open", "Analyze the new requirements gathered from the customer.", "Story", "Low", "Analyze,Customer", 3.5, "Nancy Davloio", "../content/images/kanban/1.png", 1));
                Task.Add(new Tasks(2, "InProgress", "Improve application performance", "Improvement", "Normal", "Improvement", 6, "Andrew Fuller", "../content/images/kanban/2.png", 1));
                Task.Add(new Tasks(3, "Open", "Arrange a web meeting with the customer to get new requirements.", "Others", "Critical", "Meeting", 5.5, "Janet Leverling", "../content/images/kanban/3.png", 2));
                Task.Add(new Tasks(4, "InProgress", "Fix the issues reported in the IE browser.", "Bug", "Release Breaker", "IE", 2.5, "Janet Leverling", "../content/images/kanban/3.png", 2));
                Task.Add(new Tasks(5, "Testing", "Fix the issues reported by the customer.", "Bug", "Low", "Customer", 3.5, "Steven walker", "../content/images/kanban/5.png", 1));
                Task.Add(new Tasks(6, "Close", "Arrange a web meeting with the customer to get the login page requirements.", "Others", "Low", "Meeting", 2, "Michael Suyama", "../content/images/kanban/6.png", 1));
                Task.Add(new Tasks(7, "Validate", "Validate new requirements", "Improvement", "Low", "Validation", 1.5, "Robert King", "../content/images/kanban/7.png", 4));
                Task.Add(new Tasks(8, "Close", "Login page validation", "Story", "Release Breaker", "Validation,Fix", 2.5, "Laura Callahan", "../content/images/kanban/8.png", 2));
                Task.Add(new Tasks(9, "Testing", "Fix the issues reported in Safari browser.", "Bug", "Release Breaker", "Fix,Safari", 1.5, "Nancy Davloio", "../content/images/kanban/1.png", 2));
                Task.Add(new Tasks(10, "Close", "Test the application in the IE browser.", "Story", "Low", "Testing,IE", 5.5, "Margaret hamilt", "../content/images/kanban/4.png", 3));
                Task.Add(new Tasks(11, "Validate", "Validate the issues reported by the customer.", "Story", "High", "Validation,Fix", 1, "Steven walker", "../content/images/kanban/5.png", 5));
                Task.Add(new Tasks(12, "Testing", "Check Login page validation.", "Story", "Release Breaker", "Testing", 0.5, "Michael Suyama", "../content/images/kanban/6.png", 3));
                Task.Add(new Tasks(13, "Open", "API improvements.", "Improvement", "High", "Grid,API", 3.5, "Robert King", "../content/images/kanban/7.png", 3));
                Task.Add(new Tasks(14, "InProgress", "Add responsive support to application", "Epic", "Critical", "Responsive", 6, "Laura Callahan", "../content/images/kanban/8.png", 3));
                Task.Add(new Tasks(15, "Open", "Show the retrieved data from the server in grid control.", "Story", "High", "Database,SQL", 5.5, "Margaret hamilt", "../content/images/kanban/4.png", 4));
                Task.Add(new Tasks(16, "InProgress", "Fix cannot open user’s default database SQL error.", "Critical", "Bug", "Database,Sql2008", 2.5, "Janet Leverling", "../content/images/kanban/3.png", 4));
                Task.Add(new Tasks(17, "Testing", "Fix the issues reported in data binding.", "Story", "Normal", "Databinding", 3.5, "Janet Leverling", "../content/images/kanban/3.png", 4));
                Task.Add(new Tasks(18, "Close", "Analyze SQL server 2008 connection.", "Story", "Release Breaker", "Grid,Sql", 2, "Andrew Fuller", "../content/images/kanban/2.png", 4));
                Task.Add(new Tasks(19, "Validate", "Validate databinding issues.", "Story", "Low", "Validation", 1.5, "Margaret hamilt", "../content/images/kanban/4.png", 2));
                Task.Add(new Tasks(20, "Close", "Analyze grid control.", "Story", "High", "Analyze", 2.5, "Margaret hamilt", "../content/images/kanban/4.png", 5));
                Task.Add(new Tasks(21, "Close", "Stored procedure for initial data binding of the grid.", "Others", "Release Breaker", "Databinding", 1.5, "Steven walker", "../content/images/kanban/5.png", 6));
                Task.Add(new Tasks(22, "Close", "Analyze stored procedures.", "Story", "Release Breaker", "Procedures", 5.5, "Janet Leverling", "../content/images/kanban/3.png", 7));
                Task.Add(new Tasks(23, "Validate", "Validate editing issues.", "Story", "Critical", "Editing", 1, "Nancy Davloio", "../content/images/kanban/1.png", 5));
                Task.Add(new Tasks(24, "Testing", "Test editing functionality.", "Story", "Normal", "Editing,Test", 0.5, "Nancy Davloio", "../content/images/kanban/1.png", 5));
                Task.Add(new Tasks(25, "Open", "Enhance editing functionality.", "Improvement", "Low", "Editing", 3.5, "Andrew Fuller", "../content/images/kanban/2.png", 5));
                Task.Add(new Tasks(26, "InProgress", "Improve the performance of the editing functionality.", "Epic", "High", "Performance", 6, "Nancy Davloio", "../content/images/kanban/1.png", 5));
                Task.Add(new Tasks(27, "Open", "Arrange web meeting with the customer to show editing demo.", "Others", "High", "Meeting,Editing", 5.5, "Steven walker", "../content/images/kanban/5.png", 6));
                Task.Add(new Tasks(28, "InProgress", "Fix editing issues reported in chrome", "Bug", "Normal", "Editing,Customer", 2.5, "Janet Leverling", "../content/images/kanban/3.png", 6));
                Task.Add(new Tasks(29, "Testing", "Fix the editing issues reported by the customer.", "Bug", "Low", "Editing,Fix", 3.5, "Janet Leverling", "../content/images/kanban/3.png", 6));
                Task.Add(new Tasks(30, "Close", "Arrange a web meeting with the customer to get editing requirements.", "Others", "Critical", "Meeting,Editing", 2, "Steven walker", "../content/images/kanban/5.png", 8));
                this.KanbanBoard.DataSource = Task;
                this.KanbanBoard.DataBind();
            }
            [Serializable]
            public class Tasks
            {
                public Tasks()
                {
                }
                public Tasks(int Id, string Status, string Summary, string Type, string Priority, string Tags, double Estimate, string Assignee, string ImgUrl, int RankId)
                {
                    this.Id = Id;
                    this.Status = Status;
                    this.Summary = Summary;
                    this.Type = Type;
                    this.Priority = Priority;
                    this.Tags = Tags;
                    this.Estimate = Estimate;
                    this.Assignee = Assignee;
                    this.ImgUrl = ImgUrl;
                    this.RankId = RankId;
    
                }
                public int Id { get; set; }
                public string Status { get; set; }
                public string Summary { get; set; }
                public string Type { get; set; }
                public string Priority { get; set; }
                public string Tags { get; set; }
                public double Estimate { get; set; }
                public string Assignee { get; set; }
                public string ImgUrl { get; set; }
                public int RankId { get; set; }
    
            }
    
        }
    }