RadGrid And Edit with RadWindow

on Saturday, May 25, 2013
Default8.aspx
---------------
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default8.aspx.cs" Inherits="DUMMY_Default8" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
     <telerik:RadCodeBlock ID="RadCodeBlock2" runat="server">
        <style type="text/css">
            .orderText
            {
                font: normal 12px Arial,Verdana;
                margin-top: 6px;
            }
        </style>
    </telerik:RadCodeBlock>
    <script type="text/javascript">
        function validate() {
            var isValid = false;
            var gridView = document.getElementById('Gv1');
            for (var i = 1; i < gridView.rows.length; i++) {
                var inputs = gridView.rows[i].getElementsByTagName('input');
                if (inputs != null) {
                    if (inputs[1].type == "checkbox") {
                        if (inputs[1].checked) {
                            if (inputs[0].checked == false) {
                                alert("Please select atleast one checkbox");
                            }
                            else {
                                isValid = true;
                                return true;
                            }
                            
                        }
                    }
                }
            }
            alert("Please select atleast one checkbox");
            return false;
        }
    </script>
    <script type="text/javascript">
        function ShowInsertForm() {
            window.radopen("EditUserDetail.aspx", "UserListDialog");
            return false;
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <telerik:RadScriptManager runat="server" ID="RadScriptManager1" />
    <telerik:RadSkinManager ID="QsfSkinManager" runat="server" ShowChooser="true" />
    <telerik:RadFormDecorator ID="QsfFromDecorator" runat="server" DecoratedControls="All" EnableRoundedCorners="false" />
    <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
        <script type="text/javascript">
            function ShowEditForm(id, rowIndex) {
                var grid = $find("<%= RadGrid1.ClientID %>");
                var rowControl = grid.get_masterTableView().get_dataItems()[rowIndex].get_element();
                grid.get_masterTableView().selectItem(rowControl, true);
                window.radopen("EditUserDetail.aspx?UserID=" + id, "UserListDialog");
                return false;
            }
            function ShowInsertForm() {
                window.radopen("EditUserDetail.aspx", "UserListDialog");
                return false;
            }
                        function refreshGrid(arg) {
                            if (!arg) {
                                $find("<%= RadAjaxManager1.ClientID %>").ajaxRequest("Rebind");
                            }
                            else {
                                $find("<%= RadAjaxManager1.ClientID %>").ajaxRequest("RebindAndNavigate");
                            }
                        }
            function RowDblClick(sender, eventArgs) {
                window.radopen("EditUserDetail.aspx?UserID=" + eventArgs.getDataKeyValue("EmployeeID"), "UserListDialog");
            }
        </script>
        <script type="text/javascript">
            function SelectedIndexChanged(sender, eventArgs, id, RowIndex) {
                var item = eventArgs.get_item();
                //var txt = $get(sender.get_id().replace("RadComboBox2", "TextBox1"));
                var txt = $get(sender.get_id());
                txt.value = item.get_value();
                txt.text = item.get_text();
                if (txt.text == "NewText4") {
                    if (confirm('Are you sure')) {
                        var grid = $find("<%= RadGrid1.ClientID %>");
                        var rowControl = grid.get_masterTableView().get_dataItems()[rowIndex].get_element();
                        grid.get_masterTableView().selectItem(rowControl, true);
                        window.radopen("EditUserDetail.aspx");
                    }
                    else {
                    }
                }
            }
    </script>
    </telerik:RadCodeBlock>
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxRequest="RadAjaxManager1_AjaxRequest">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="gridLoadingPanel"></telerik:AjaxUpdatedControl>
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="RadGrid1">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="gridLoadingPanel"></telerik:AjaxUpdatedControl>
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
    <telerik:RadAjaxLoadingPanel runat="server" ID="gridLoadingPanel"></telerik:RadAjaxLoadingPanel>
    <telerik:RadGrid OnItemCreated="RadGrid1_ItemCreated" ID="RadGrid1" runat="server"
        AllowPaging="True" Width="97%">
        <PagerStyle Mode="NumericPages"></PagerStyle>
        <MasterTableView AutoGenerateColumns="False" DataKeyNames="Id" ClientDataKeyNames="Id"
            Width="100%" CommandItemDisplay="Top" PageSize="5">
            <Columns>
              
                <telerik:GridTemplateColumn HeaderText="FirstName">
                <ItemTemplate>
                <asp:Label ID="lblFirstName" runat="server"></asp:Label>
                </ItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridTemplateColumn HeaderText="LastName">
                <ItemTemplate>
                <asp:Label ID="lblLastName" runat="server"></asp:Label>
                </ItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridTemplateColumn HeaderText="Email">
                <ItemTemplate>
                <asp:Label ID="lblEmail" runat="server"></asp:Label>
                </ItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridTemplateColumn HeaderText="UserName">
                <ItemTemplate>
                <asp:Label ID="lblUserName" runat="server"></asp:Label>
                </ItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridTemplateColumn HeaderText="Password">
                <ItemTemplate>
                <asp:Label ID="lblPassword" runat="server"></asp:Label>
                </ItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridTemplateColumn UniqueName="TemplateEditColumn">
                    <ItemTemplate>
                        <asp:HyperLink ID="EditLink" runat="server" Text="Edit"></asp:HyperLink>
                    
                    </ItemTemplate>
                </telerik:GridTemplateColumn>
            </Columns>
            <CommandItemTemplate>
                <a href="#" onclick="return ShowInsertForm();">Add New Record</a>
                
            </CommandItemTemplate>
        </MasterTableView>
        <ClientSettings>
            <Selecting AllowRowSelect="true"></Selecting>
            <ClientEvents OnRowDblClick="RowDblClick"></ClientEvents>
        </ClientSettings>
    </telerik:RadGrid>
    <telerik:RadWindowManager ID="RadWindowManager1" runat="server" EnableShadow="true">
        <Windows>
            <telerik:RadWindow ID="UserListDialog" runat="server" Title="Editing record" Height="320px"
                Width="310px" Left="150px" ReloadOnShow="true" ShowContentDuringLoad="false"
                Modal="true">
            </telerik:RadWindow>
        </Windows>
    </telerik:RadWindowManager>
    <div>
    <asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" OnClientClick="return validate();" />
    
    </div>
    
    </form>
</body>
</html>
Default8.aspx.cs
----------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Intelex.RealtorServer.Entities;
using Intelex.RealtorServer.Data;
using Telerik.Web.UI;
public partial class DUMMY_Default8 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            BindGrid();
        }
        
    }
    private void BindGrid()
    {
       List<UserDetail> objUserDetail = UserDetailProvider.GetAll();//.Where(p => p.FirstName == "FirstName21").ToList();
        
        RadGrid1.DataSource = objUserDetail;
        RadGrid1.DataBind();
    }
    protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
    {
        if (e.Item is GridDataItem)
        {
            UserDetail row = (UserDetail)e.Item.DataItem;
            if (row != null)
            {
                Label lblFirstName = (Label)e.Item.FindControl("lblFirstName");
                Label lblLastName = (Label)e.Item.FindControl("lblLastName");
                Label lblPassword = (Label)e.Item.FindControl("lblPassword");
                Label lblEmail = (Label)e.Item.FindControl("lblEmail");
                Label lblUserName = (Label)e.Item.FindControl("lblUserName");
                lblFirstName.Text = row.FirstName;
                lblLastName.Text = row.LastName;
                lblPassword.Text = row.Password;
                lblEmail.Text = row.Email;
                lblUserName.Text = row.UserName;
                HyperLink editLink = (HyperLink)e.Item.FindControl("EditLink");
                editLink.Attributes["href"] = "javascript:void(0);";
                //editLink.Attributes["onclick"] = String.Format("return ShowEditForm('{0}','{1}');", e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["EmployeeID"], e.Item.ItemIndex);
                editLink.Attributes["onclick"] = String.Format("return ShowEditForm('{0}','{1}');", row.Id, e.Item.ItemIndex);
            
            }
        }
    }
    
    protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
    {
        if (e.Argument == "Rebind")
        {
            //RadGrid1.MasterTableView.SortExpressions.Clear();
            //RadGrid1.MasterTableView.GroupByExpressions.Clear();
            //RadGrid1.Rebind();
            BindGrid();
        }
        else if (e.Argument == "RebindAndNavigate")
        {
            //RadGrid1.MasterTableView.SortExpressions.Clear();
            //RadGrid1.MasterTableView.GroupByExpressions.Clear();
            //RadGrid1.MasterTableView.CurrentPageIndex = RadGrid1.MasterTableView.PageCount - 1;
            //RadGrid1.Rebind();
            BindGrid();
        }
    }
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        UserDetail objUserDetail = new UserDetail();
        objUserDetail.Id = Guid.NewGuid();
        objUserDetail.FirstName = "FirstName";
        objUserDetail.LastName = "LastName";
        objUserDetail.Email = "test@test.com";
        objUserDetail.UserName = "User3";
        objUserDetail.Password = "User3";
        objUserDetail.UserType = "1";
        objUserDetail.IsDefault = true;
        
        //this.Text = "22/11/2009";
        string CreatedDate = DateTime.Now.ToString("dd/MM/yyyy");
        string LastUpdatedDate = DateTime.Now.ToString("dd/MM/yyyy");
        string CreatedTime = DateTime.Now.ToString("hh:mm:ss");  //txtStartTime.Text
        string FinalDateTime = CreatedDate + " " + CreatedTime;
        DateTime CreatedDates = DateTime.ParseExact(FinalDateTime, "dd/MM/yyyy hh:mm:ss", null);
        DateTime LastUpdatedDates = DateTime.ParseExact(CreatedDate, "dd/MM/yyyy", null);
        objUserDetail.CreateDate = CreatedDates;
        objUserDetail.LastUpdatedDate = LastUpdatedDates;
        UserDetailProvider.Save(objUserDetail);
    }
}
EditUserDetail.aspx
----------------------
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="EditUserDetail.aspx.cs" Inherits="DUMMY_EditUserDetail" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript">             
    function CloseAndRebind(args)             
    {                
  GetRadWindow().BrowserWindow.refreshGrid(args);               
   GetRadWindow().close();
}
function GetRadWindow() {
    var oWindow = null;
    if (window.radWindow) oWindow = window.radWindow;
    else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow;
    return oWindow;
} 
           
//    function GetRadWindow() {
//        var oWindow = null;
//        if (window.radWindow) oWindow = window.radWindow; //Will work in Moz in all cases, including clasic dialog                else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow; //IE (and Moz as well)                return oWindow;            }            function CancelEdit()          
//        {
//            GetRadWindow().close();
//        }
//    }     
  </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <table>
    <tr>
    <td>
    FirstName:
    </td>
    <td>
    <asp:TextBox ID="txtFirstName" runat="server"></asp:TextBox>
    </td>
    </tr>
    <tr>
    <td>
    LastName:
    </td>
    <td>
    <asp:TextBox ID="txtLastName" runat="server"></asp:TextBox>
    </td>
    </tr>
     <tr>
    <td>
    Email:
    </td>
    <td>
    <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
    </td>
    </tr>
    <tr>
    <td>
    <asp:Button ID="btnUpdate" runat="server" Text="Update" OnClick="btnUpdate_Click" />
    </td>
    </tr>
    </table>
    </div>
    </form>
</body>
</html>
EditUserDetail.aspx.cs
------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Intelex.RealtorServer.Entities;
using Intelex.RealtorServer.Data;
public partial class DUMMY_EditUserDetail : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if(Request.QueryString["UserID"] != null)
            {
                Guid UserID = new Guid(Convert.ToString(Request.QueryString["UserID"]));
                BindDatas(UserID);
            }
        }
    }
    private void BindDatas(Guid UserID)
    {
        try
        {
            UserDetail objUserDetail = UserDetailProvider.GetById(UserID);//Get your Datas from List or Dataset
            txtFirstName.Text = objUserDetail.FirstName;
            txtLastName.Text = objUserDetail.LastName;
            txtEmail.Text = objUserDetail.Email;
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
    protected void btnUpdate_Click(object sender, EventArgs e)
    {
        Guid UserID = Guid.Empty;
        if (Request.QueryString["UserID"] != null)
        {
            UserID = new Guid(Convert.ToString(Request.QueryString["UserID"]));
            UserDetail objUserDetail = UserDetailProvider.GetById(UserID);
            objUserDetail.Id = objUserDetail.Id;
            objUserDetail.FirstName = txtFirstName.Text;
            objUserDetail.LastName = txtLastName.Text;
            objUserDetail.Email = txtEmail.Text;
            UserDetailProvider.Update(objUserDetail);
        }
        ClientScript.RegisterStartupScript(Page.GetType(), "mykey", "CloseAndRebind();", true);
    }
}

Output:


-------------


RadGrid

0 comments:

Post a Comment