<%@ Page Language="c#" AutoEventWireup="true" Theme="Default" CodeFile="DefaultCS.aspx.cs"Inherits="Telerik.GridExamplesCSharp.Client.InsertUpdateDelete.DefaultCS" %>
<%@ Register TagPrefix="sds" Namespace="Telerik.Web.SessionDS" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<!DOCTYPE html>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head runat="server">
<title>Telerik ASP.NET Example</title>
<link href="styles.css" rel="stylesheet" type="text/css" />
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
<script type="text/javascript">
var employeeID, currentEmployee, currentRowIndex = null;
var employee =
{
EmployeeID: null,
FirstName: null,
LastName: null,
Title: null,
TitleOfCourtesy: null,
BirthDate: null,
Notes: null,
create: function () {
var obj = new Object();
obj.EmployeeID = "";
obj.FirstName = "";
obj.LastName = "";
obj.Title = "";
obj.TitleOfCourtesy = "";
obj.BirthDate = "";
obj.Notes = "";
return obj;
}
};
function getDataItemKeyValue(radGrid, item) {
return parseInt(radGrid.get_masterTableView().getCellByColumnUniqueName(item, "EmployeeID").innerHTML);
}
function OnDataBound(sender, args)
{
employeeID = getDataItemKeyValue($find("<%= RadGrid1.ClientID %>"), $find("<%= RadGrid1.ClientID %>").get_masterTableView().get_dataItems()[0]);
$find("<%= LastName.ClientID %>").focus();
currentRowIndex = 0;
$find("<%= RadTabStrip1.ClientID %>").set_selectedIndex(0);
MyWebService.GetEmployeeByEmployeeID(employeeID, setValues)
}
function rowSelected(sender, args) {
employeeID = getDataItemKeyValue(sender, args.get_gridDataItem());
currentRowIndex = args.get_gridDataItem().get_element().rowIndex;
$find("<%= RadTabStrip1.ClientID %>").set_selectedIndex(0);
MyWebService.GetEmployeeByEmployeeID(employeeID, setValues)
}
function setValues(employee) {
$get("<%= EmployeeID.ClientID %>").innerHTML = employee.EmployeeID;
$find("<%= LastName.ClientID %>").set_value(employee.LastName);
$find("<%= FirstName.ClientID %>").set_value(employee.FirstName);
$find("<%= Title.ClientID %>").set_value(employee.Title);
$find("<%= TitleOfCourtesy.ClientID %>").findItemByText(employee.TitleOfCourtesy).select();
$find("<%= BirthDate.ClientID %>").set_selectedDate(employee.BirthDate);
$find("<%= Notes.ClientID %>").set_html(employee.Notes);
$find("<%= LastName.ClientID %>").focus();
}
function getValues() {
employee.EmployeeID = $get("<%= EmployeeID.ClientID %>").innerHTML;
employee.LastName = $find("<%= LastName.ClientID %>").get_value();
employee.FirstName = $find("<%= FirstName.ClientID %>").get_value();
employee.Title = $find("<%= Title.ClientID %>").get_value();
employee.TitleOfCourtesy = $find("<%= TitleOfCourtesy.ClientID %>").get_value();
employee.BirthDate = $find("<%= BirthDate.ClientID %>").get_selectedDate();
employee.Notes = $find("<%= Notes.ClientID %>").get_html();
return employee;
}
function updateChanges() {
MyWebService.UpdateEmployeeByEmployee(getValues(), updateGrid);
}
function updateGrid(result) {
var tableView = $find("<%= RadGrid1.ClientID %>").get_masterTableView();
tableView.set_dataSource(result);
tableView.dataBind();
var grid = $find("<%= RadGrid1.ClientID %>");
grid.repaint();
}
function tabSelected(sender, args) {
if (currentEmployee == null) {
currentEmployee = getValues();
}
switch (args.get_tab().get_index()) {
case 1:
{
var gridItems = $find("<%= RadGrid1.ClientID %>").get_masterTableView().get_dataItems();
var newID = getDataItemKeyValue($find("<%= RadGrid1.ClientID %>"), gridItems[gridItems.length - 1]) + 1;
var newEmployee = employee.create();
newEmployee.EmployeeID = newID;
setValues(newEmployee);
$get("<%= SaveChanges.ClientID %>").value = "Add";
$get("<%= Delete.ClientID %>").style.display = "none";
break;
}
default:
{
setValues(currentEmployee);
currentEmployee = null;
$get("<%= SaveChanges.ClientID %>").value = "Save";
$get("<%= Delete.ClientID %>").style.display = "";
break;
}
}
}
function deleteCurrent() {
var masterTable = $find("<%= RadGrid1.ClientID %>").get_masterTableView();
var row = masterTable.get_element().rows[currentRowIndex];
masterTable._deleteRow(row, currentRowIndex);
var gridItems = masterTable.get_dataItems();
MyWebService.DeleteEmployeeByEmployeeID(employeeID, updateGrid);
gridItems[gridItems.length - 1].set_selected(true);
}
</script>
</telerik:RadCodeBlock>
</head>
<body>
<form id="form1" runat="server">
<telerik:RadScriptManager runat="server" ID="RadScriptManager1" />
<telerik:RadSkinManager ID="RadSkinManager1" runat="server" ShowChooser="true" />
<telerik:RadFormDecorator RenderMode="Lightweight" ID="RadFormDecorator1" runat="server" DecorationZoneID="demo" EnableRoundedCorners="false" DecoratedControls="All" ControlsToSkip="Textarea" />
<div id="demo" class="demo-container no-bg">
<telerik:RadGrid RenderMode="Lightweight" ID="RadGrid1" CssClass="grid" runat="server" GridLines="None" Height="300px">
<MasterTableView TableLayout="Fixed" ClientDataKeyNames="EmployeeID">
<Columns>
<telerik:GridBoundColumn DataField="EmployeeID" HeaderText="EmployeeID"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="FirstName" HeaderText="FirstName"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="LastName" HeaderText="LastName"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Title" HeaderText="Title"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="TitleOfCourtesy" HeaderText="TitleOfCourtesy"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="BirthDate" HeaderText="BirthDate" DataFormatString="{0:MM/dd/yyyy}"></telerik:GridBoundColumn>
</Columns>
</MasterTableView>
<ClientSettings>
<Selecting AllowRowSelect="true"></Selecting>
<DataBinding Location="MyWebService.asmx" SelectMethod="GetEmplyee" />
<ClientEvents OnRowSelected="rowSelected" OnDataBound="OnDataBound"></ClientEvents>
<Scrolling AllowScroll="true" UseStaticHeaders="true"></Scrolling>
</ClientSettings>
</telerik:RadGrid>
<telerik:RadTabStrip RenderMode="Lightweight" ID="RadTabStrip1" OnClientTabSelected="tabSelected" Style="margin-top: 10px;"
SelectedIndex="0" runat="server">
<Tabs>
<telerik:RadTab Text="Edit employee">
</telerik:RadTab>
<telerik:RadTab Text="Add new employee">
</telerik:RadTab>
</Tabs>
</telerik:RadTabStrip>
<div style="border: 1px solid threedshadow;">
<table border="0" style="margin-top: 20px; width: 100%; table-layout: fixed">
<colgroup>
<col style="width: 200px" />
</colgroup>
<tr>
<td>Employee ID:
</td>
<td>
<asp:Label ID="EmployeeID" Style="float: left; font-weight: bold" runat="server"></asp:Label>
<telerik:RadButton RenderMode="Lightweight" ID="SaveChanges" OnClientClicked="updateChanges" Text="Save" AutoPostBack="false"
runat="server" Width="90px" CssClass="saveBtn">
</telerik:RadButton>
<telerik:RadButton RenderMode="Lightweight" ID="Delete" Width="90px" OnClientClicked="deleteCurrent" AutoPostBack="false"
Text="Delete" runat="server" CssClass="deleteBtn">
</telerik:RadButton>
</td>
</tr>
<tr>
<td>Last name:
</td>
<td>
<telerik:RadTextBox RenderMode="Lightweight" ID="LastName" runat="server">
</telerik:RadTextBox>
</td>
</tr>
<tr>
<td>First name:
</td>
<td>
<telerik:RadTextBox RenderMode="Lightweight" ID="FirstName" runat="server">
</telerik:RadTextBox>
</td>
</tr>
<tr>
<td>Title:
</td>
<td>
<telerik:RadTextBox RenderMode="Lightweight" ID="Title" runat="server">
</telerik:RadTextBox>
</td>
</tr>
<tr>
<td>Title of courtesy:
</td>
<td>
<telerik:RadComboBox RenderMode="Lightweight" ID="TitleOfCourtesy" runat="server">
<Items>
<telerik:RadComboBoxItem Text="" Value=""></telerik:RadComboBoxItem>
<telerik:RadComboBoxItem Text="Dr." Value="Dr."></telerik:RadComboBoxItem>
<telerik:RadComboBoxItem Text="Mr." Value="Mr."></telerik:RadComboBoxItem>
<telerik:RadComboBoxItem Text="Mrs." Value="Mrs."></telerik:RadComboBoxItem>
<telerik:RadComboBoxItem Text="Ms." Value="Ms."></telerik:RadComboBoxItem>
</Items>
</telerik:RadComboBox>
</td>
</tr>
<tr>
<td>Birth date:
</td>
<td>
<telerik:RadDatePicker RenderMode="Lightweight" ID="BirthDate" MinDate="01/01/1900" runat="server">
</telerik:RadDatePicker>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Notes:
</td>
<td>
<telerik:RadEditor RenderMode="Lightweight" ID="Notes" SkinID="BasicSetOfTools" Width="97%" runat="server"
Height="400px">
</telerik:RadEditor>
</td>
</tr>
</table>
</div>
</div>
</form>
</body>
</html>