using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using Telerik.Web.UI;
using System.Drawing;
using System.Web.UI.WebControls;
using System.Web.UI;
/// <summary>
/// Author : Shanu
/// Create date : 2013-10-08
/// Description : telerikGridHelper
/// Latest
/// Modifier : Shanu
/// Modify date : 2013-10-08
/// </summary>
public class TelerikGridHelper
{
#region Variables
#endregion
public TelerikGridHelper() { }
//Set all the telerik Grid layout
#region Layout
public static void Layouts(RadGrid grid, int height, int width, Boolean widthtype, Boolean multirowselect, Boolean allowsorting, Boolean showstatusbar, Boolean allowfilteringbycolumns, Boolean showgrouppannel, Boolean ShowHeader, Boolean ShowFooter)
{
grid.AutoGenerateColumns = false; // set the auto genrated columns as false
grid.Skin = "Office2007";// set the Skin
grid.AllowMultiRowSelection=multirowselect;//set the multirow selection as true or false
grid.AllowSorting = allowsorting; // Set Sorting for a grid
// set grid lines as none
grid.ShowStatusBar = showstatusbar; // set true or false to display the status bar
grid.AllowFilteringByColumn = allowfilteringbycolumns; //Set the Filtering for a individual columns
grid.Height = height; //Set the height of the grid in % or in pixcel
if (width > 0)
{
if (widthtype == false)
{
grid.Width = width; // set the Width of the grid in % or in pixcel
}
else
{
grid.Width = Unit.Percentage(width);
}
}
grid.ShowGroupPanel = showgrouppannel;//show group panel for header
grid.ShowHeader=ShowHeader; // show header of the grid true or false
grid.ShowFooter = ShowFooter; // show header of the grid true or false
}
#endregion
//Set all the telerik Grid Page
#region LayoutPage
public static void LayoutPage(RadGrid grid, int pagesize, Boolean allowpaging)
{
grid.PageSize = pagesize;//Set the Grid Page default page size
grid.AllowPaging = allowpaging;//Set Paging for a grid as true or false
// grid.PagerStyle.PageSizeControlType = "RadDropDownList";
grid.PagerStyle.Mode = GridPagerMode.NextPrevAndNumeric;
}
#endregion
//Client Settings like columns reorder, scrolling and resize
#region ClientSetting
public static void ClientSetting(RadGrid grid, Boolean ColumnReorder, Boolean ReorderColumnsOnClient, Boolean AllowColumnResize, Boolean EnableRealTimeResize)
{
grid.ClientSettings.AllowColumnsReorder = ColumnReorder;
grid.ClientSettings.ReorderColumnsOnClient = ReorderColumnsOnClient;
grid.ClientSettings.EnableRowHoverStyle = true;
grid.ClientSettings.Scrolling.AllowScroll = true;
grid.ClientSettings.Scrolling.SaveScrollPosition = true;
grid.ClientSettings.Scrolling.UseStaticHeaders = true;
grid.ClientSettings.Scrolling.FrozenColumnsCount = 2;
grid.ClientSettings.Resizing.EnableRealTimeResize = EnableRealTimeResize;
grid.ClientSettings.Resizing.AllowColumnResize = AllowColumnResize;
grid.ClientSettings.Selecting.AllowRowSelect = true;
}
#endregion
//Client Events .this function used to decalre the client side events
#region ClientEvents
public static void ClientEvents(RadGrid grid, clientEventType clienteventtype,String clientfunctionname)
{
switch (clienteventtype.ToString())
{
case "gridCreated":
grid.ClientSettings.ClientEvents.OnGridCreated = clientfunctionname;//"GetGridObject";
break;
case "rowClicked":
grid.ClientSettings.ClientEvents.OnRowClick = clientfunctionname;
break;
case "rowDblClick":
grid.ClientSettings.ClientEvents.OnRowDblClick = clientfunctionname;
break;
case "ColumnClick":
grid.ClientSettings.ClientEvents.OnColumnClick = clientfunctionname;
break;
case "OnRowSelected":
grid.ClientSettings.ClientEvents.OnRowSelected = clientfunctionname;
break;
}
}
#endregion
// bind the Datatable to grid
#region DataBind
public static void DataBinds(RadGrid grid,DataTable dataTable,Boolean needdatasource)
{
grid.DataSource = dataTable;
if (!needdatasource)
{
grid.DataBind();
}
}
public static void DataBinds(RadGrid grid, DataSet dataSet, Boolean needdatasource)
{
DataBinds(grid, dataSet.Tables[0], needdatasource);
}
#endregion
//In this Mastertbaleview we define the datakey for the grid
#region GridMasterTableSetting
public static void Mastertableview(RadGrid grid, String[] keyvalue,Boolean allowfilteringbycolumn)
{
if (keyvalue[0] != String.Empty)
{
grid.MasterTableView.DataKeyNames = keyvalue; // set the grid Datakeyname use ,(comma) for more then one key
grid.MasterTableView.ClientDataKeyNames = keyvalue; //set the Client Datakey names
}
// grid.MasterTableView.TableLayout = "Auto";
grid.MasterTableView.EnableHeaderContextMenu = true;
grid.MasterTableView.AllowFilteringByColumn = allowfilteringbycolumn;
}
#endregion
//here we define each column type and value and text
#region gridColumnType
//To set the Grid header column groups
#region ColumnGroups
public static void ColumnGroups(RadGrid grid, String groupHeaderText, String groupName,String ParentgroupName, HorizontalAlign Alignment, int Width)
{
if (groupHeaderText == String.Empty)
{
return;
}
GridColumnGroup columnGroup= new GridColumnGroup();
columnGroup.HeaderText = groupHeaderText;
columnGroup.Name = groupName;
columnGroup.HeaderStyle.HorizontalAlign = Alignment;
columnGroup.HeaderStyle.Width = Width;
if (ParentgroupName != String.Empty)
{
columnGroup.ParentGroupName = ParentgroupName;
}
grid.MasterTableView.ColumnGroups.Add(columnGroup);
}
#endregion
//Bound column is used to display the data
#region BoundColumn
public static void BoundColumn(RadGrid grid, String HeaderText, String datafield, String UniqueName, String groupName, HorizontalAlign Alignment, int Width, String Aggregate, Boolean AllowFiltering, Boolean colDisplay)
{
GridBoundColumn boundColumn;
boundColumn = new GridBoundColumn();
boundColumn.DataField = datafield;
boundColumn.HeaderText = HeaderText;
boundColumn.UniqueName = UniqueName;
if (groupName != String.Empty)
{
boundColumn.ColumnGroupName = groupName;
}
boundColumn.HeaderStyle.HorizontalAlign = Alignment;
boundColumn.HeaderStyle.Width = Width;
boundColumn.Aggregate = GridAggregateFunction.None;
boundColumn.Display = colDisplay;
boundColumn.AllowFiltering = AllowFiltering;
if (Aggregate != String.Empty)
{
// boundColumn.FooterText = Footertext;
switch (Aggregate)
{
case "Sum":
boundColumn.Aggregate = GridAggregateFunction.Sum;
boundColumn.FooterAggregateFormatString = boundColumn.Aggregate.ToString() + ": {0:n}";
break;
case "Avg":
boundColumn.Aggregate = GridAggregateFunction.Avg;
boundColumn.FooterAggregateFormatString = boundColumn.Aggregate.ToString() + ": {0:n}";
break;
case "Count":
boundColumn.Aggregate = GridAggregateFunction.Count;
boundColumn.FooterAggregateFormatString = boundColumn.Aggregate.ToString() + ": {0}";
break;
case "Max":
boundColumn.Aggregate = GridAggregateFunction.Max;
boundColumn.FooterAggregateFormatString = boundColumn.Aggregate.ToString() + ": {0:n}";
break;
case "Min":
boundColumn.Aggregate = GridAggregateFunction.Min;
boundColumn.FooterAggregateFormatString = boundColumn.Aggregate.ToString() + ": {0:n}";
break;
}
//boundColumn.FooterText = Footertext;
// boundColumn.FooterAggregateFormatString = boundColumn.Aggregate.ToString() + ": {0:n}";
}
grid.MasterTableView.Columns.Add(boundColumn);
}
#endregion
//Image column is used to add the image to the column
#region ImageColumn
public static void ImageColumn(RadGrid grid, String HeaderText, String[] datafield, String imageURL, String AlternateText, String groupName, ImageAlign imgAlign, int ImageHeight, int ImageWidth, int ColWidth)
{
GridImageColumn imageColumn;
imageColumn = new GridImageColumn();
imageColumn.HeaderText = HeaderText;
imageColumn.DataImageUrlFields = datafield;
if (groupName != String.Empty)
{
imageColumn.ColumnGroupName = groupName;
}
imageColumn.DataImageUrlFormatString = imageURL;
imageColumn.AlternateText = AlternateText;
imageColumn.HeaderStyle.Width = ColWidth;
imageColumn.ImageAlign = imgAlign;
imageColumn.ItemStyle.Width = ColWidth;
imageColumn.AllowFiltering = false;
if (ImageHeight > 0)
{
imageColumn.ImageHeight = ImageHeight;
}
if (ImageWidth > 0)
{
imageColumn.ImageWidth = ImageWidth;
}
grid.MasterTableView.Columns.Add(imageColumn);
}
#endregion
//Template Column In this column we can add Textbox,Lable,Check Box,Dropdown box,LinkButton,button,Image Button,numeric textbox and etc
#region Templatecolumn
//public static void Templatecolumn(RadGrid grid, String HeaderText, String datafield, String UniqueName, String groupName, HorizontalAlign Alignment, int Width, String Aggregate, String Footertext, Boolean AllowFiltering,String Columntype)
public static void Templatecolumn(RadGrid grid, String HeaderText, String datafield, String UniqueName, String groupName, HorizontalAlign Alignment, int Width, Boolean AllowFiltering, TelerikControlType Columntype, String contolID, String CommandName)
{
if (Width <= 10)
{
Width = 20;
}
GridTemplateColumn templateColumn;
templateColumn = new GridTemplateColumn();
templateColumn.ItemTemplate = new MyTemplate(datafield, Columntype.ToString(), Width-2,contolID,CommandName);
templateColumn.HeaderText = HeaderText;
templateColumn.DataField = "datafield";
templateColumn.UniqueName = UniqueName;
if (groupName != String.Empty)
{
templateColumn.ColumnGroupName = groupName;
}
templateColumn.HeaderStyle.HorizontalAlign = Alignment;
templateColumn.HeaderStyle.Width = Width;
templateColumn.Aggregate = GridAggregateFunction.None;
templateColumn.AllowFiltering = AllowFiltering;
grid.MasterTableView.Columns.Add(templateColumn);
}
#endregion
//Add a Button Column to a teleik grid
#region ButtonColumn
public static void ButtonColumn(RadGrid grid, String HeaderText, String UniqueName, String groupName, HorizontalAlign Alignment, int Width, String buttonText,GridButtonColumnType buttontype, String commandName, String imageURL, Boolean colDisplay)
{
GridButtonColumn buttonColum=new GridButtonColumn();
buttonColum.HeaderText = HeaderText;
buttonColum.UniqueName = UniqueName;
if (groupName != String.Empty)
{
buttonColum.ColumnGroupName = groupName;
}
buttonColum.HeaderStyle.HorizontalAlign = Alignment;
buttonColum.HeaderStyle.Width = Width;
buttonColum.Display = colDisplay;
buttonColum.Text = buttonText;
buttonColum.ButtonType = buttontype;
buttonColum.CommandName = commandName;
buttonColum.ImageUrl = imageURL;
grid.MasterTableView.Columns.Add(buttonColum);
}
#endregion
#endregion
# region TemplateColumnClass
public class MyTemplate : ITemplate
{
#region Variables
// controls
protected RequiredFieldValidator validatorTextBox;
protected TextBox textBox;
protected CheckBox boolValue;
protected LinkButton linkbutton;
protected DropDownList combobox;
protected RadTextBox searchTextBox;
protected RadNumericTextBox numericTextBox;
protected RadDatePicker radDate;
protected Label label;
//loacl variable
private String colname;
private String Columntype;
private int cntrlwidth;
private String cntrlId;
private String CmdName;
# endregion
#region bindControls
public MyTemplate(string cName, String Ctype,int controlWidth,String ControlID,String CommandName)
{
colname = cName;
Columntype = Ctype;
cntrlwidth = controlWidth;
cntrlId = ControlID;
CmdName = CommandName;
}
public void InstantiateIn(System.Web.UI.Control container)
{
switch (Columntype)
{
case "TextBox":
textBox = new TextBox();
textBox.ID = cntrlId;
textBox.Width = cntrlwidth;
textBox.DataBinding += new EventHandler(textBox_DataBinding);
validatorTextBox = new RequiredFieldValidator();
validatorTextBox.ControlToValidate = cntrlId;
validatorTextBox.ErrorMessage = "*";
container.Controls.Add(textBox);
container.Controls.Add(validatorTextBox);
break;
case "SearchTextBox" :
searchTextBox = new RadTextBox();
searchTextBox.ID = cntrlId;
searchTextBox.Width = cntrlwidth-10;
searchTextBox.ShowButton=true;
searchTextBox.DataBinding += new EventHandler(searchtextBox_DataBinding);
//validatorTextBox = new RequiredFieldValidator();
//validatorTextBox.ControlToValidate = cntrlId;
//validatorTextBox.ErrorMessage = "*";
container.Controls.Add(searchTextBox);
//container.Controls.Add(validatorTextBox);
break;
case "NumericTextBox":
numericTextBox = new RadNumericTextBox();
numericTextBox.ID = cntrlId;
numericTextBox.Width = cntrlwidth;
numericTextBox.AutoCompleteType = AutoCompleteType.None;
numericTextBox.Type = NumericType.Number;
numericTextBox.ShowSpinButtons = false;
numericTextBox.AllowOutOfRangeAutoCorrect = false;
// numericTextBox.InvalidStyle.Font = false;
numericTextBox.NumberFormat.AllowRounding = false;
numericTextBox.NumberFormat.DecimalDigits = 3;
numericTextBox.NumberFormat.KeepNotRoundedValue = true;
numericTextBox.DataBinding += new EventHandler(numerictextBox_DataBinding);
container.Controls.Add(numericTextBox);
break;
case "LinkButton" :
linkbutton = new LinkButton();
linkbutton.ID = cntrlId;
linkbutton.Width = cntrlwidth;
linkbutton.CommandName = CmdName;
linkbutton.DataBinding += new EventHandler(linkbutton_DataBinding);
container.Controls.Add(linkbutton);
break;
case "CheckBox" :
boolValue = new CheckBox();
boolValue.ID = cntrlId;
boolValue.DataBinding += new EventHandler(boolValue_DataBinding);
container.Controls.Add(boolValue);
break;
case "ComboBox":
combobox = new DropDownList();
combobox.ID = cntrlId;
combobox.Width = cntrlwidth;
combobox.AutoPostBack = false;
container.Controls.Add(combobox);
break;
case "RadDatePicker":
radDate = new RadDatePicker();
radDate.ID = cntrlId;
radDate.Width = cntrlwidth-6;
radDate.EnableScreenBoundaryDetection = false;
radDate.DateInput.DateFormat = "yyyy-MM-dd";
radDate.DataBinding += new EventHandler(radDate_DataBinding);
container.Controls.Add(radDate);
break;
case "Label":
label = new Label();
label.ID = cntrlId;
label.Width = cntrlwidth;
label.DataBinding += new EventHandler(label_DataBinding);
container.Controls.Add(label);
break;
}
}
void boolValue_DataBinding(object sender, EventArgs e)
{
// CheckBox cBox = (CheckBox)sender;
// GridDataItem container = (GridDataItem)cBox.NamingContainer;
//// cBox.Checked = (bool)((DataRowView)container.DataItem)["id"];
}
public void label_DataBinding(object sender, EventArgs e)
{
Label lbltxt = (Label)sender;
GridDataItem container = (GridDataItem)lbltxt.NamingContainer;
lbltxt.Text = ((DataRowView)container.DataItem)[colname].ToString();
}
public void textBox_DataBinding(object sender, EventArgs e)
{
TextBox txt = (TextBox)sender;
GridDataItem container = (GridDataItem)txt.NamingContainer;
txt.Text = ((DataRowView)container.DataItem)[colname].ToString();
}
public void searchtextBox_DataBinding(object sender, EventArgs e)
{
RadTextBox txt = (RadTextBox)sender;
GridDataItem container = (GridDataItem)txt.NamingContainer;
txt.Text = ((DataRowView)container.DataItem)[colname].ToString();
}
public void numerictextBox_DataBinding(object sender, EventArgs e)
{
RadNumericTextBox txt = (RadNumericTextBox)sender;
GridDataItem container = (GridDataItem)txt.NamingContainer;
txt.Text = ((DataRowView)container.DataItem)[colname].ToString();
}
public void linkbutton_DataBinding(object sender, EventArgs e)
{
LinkButton txt = (LinkButton)sender;
GridDataItem container = (GridDataItem)txt.NamingContainer;
txt.Text = ((DataRowView)container.DataItem)[colname].ToString();
}
public void radDate_DataBinding(object sender, EventArgs e)
{
RadDatePicker dtepicket = (RadDatePicker)sender;
GridDataItem container = (GridDataItem)dtepicket.NamingContainer;
if (((DataRowView)container.DataItem)[colname].ToString() != String.Empty)
{
dtepicket.SelectedDate = Convert.ToDateTime(((DataRowView)container.DataItem)[colname].ToString());
}
}
# endregion
}
# endregion
}
//Enam decalaration for teleric Column Type ex like Textbox Column ,LinkButton Column
public enum TelerikControlType { TextBox, ComboBox, CheckBox, LinkButton, SearchTextBox, NumericTextBox, RadDatePicker, Label,None,DIV }
//Enum declaration for TelerikGrid Client Events
public enum clientEventType { gridCreated, rowClicked, rowDblClick, SearcButtonClick, ColumnClick, OnRowSelected }
<asp:Content ID="Content2" runat="server" ContentPlaceHolderID="cphBody">
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
<script type="text/javascript">
//<![CDATA[
var isChecked = false;
var radGrid;
function GridCreated(sender, eventArgs) {
radGrid = sender;
}
function checkAllRows() {
var totalRows = radGrid.get_masterTableView().get_element().tBodies[0].rows.length - 1;
isChecked = !isChecked;
for (i = 0; i <= totalRows; i++) {
if (isChecked) {
$telerik.findElement(radGrid.MasterTableView.get_dataItems()[i].get_element(), "chkID").checked = true;
}
else {
$telerik.findElement(radGrid.MasterTableView.get_dataItems()[i].get_element(), "chkID").checked = false;
}
}
}
function calculate(cntQty, cntprice, cntamnt, rowindex)
{
var text1 = $find(cntQty);
var text2 = $find(cntprice);
var text3 = $find(cntamnt);
// alert(rowindex);
var total = text1.get_value() * text2.get_value();
text3.set_value(total);
//radGrid.MasterTableView.get_dataItems()[rowindex].get_cell("displayAmnt").innerHTML = total;
}
function RowClick(sender, eventArgs) {
var text = "";
text += "Row was clicked";
text += ", Index: " + eventArgs.get_itemIndexHierarchical();
alert(text);
}
function RowDblClick(sender, eventArgs) {
var text = "";
text += "Row was double clicked";
text += ", Index: " + eventArgs.get_itemIndexHierarchical();
alert(text);
}
function ColumnClick(sender, eventArgs) {
var text = "";
text += "Column was clicked";
text += ", Index: " + eventArgs.get_gridColumn().get_element().cellIndex;
alert(text);
}
function RowSelected(sender, args) {
var masterTable = sender.get_masterTableView();
var row = masterTable.get_dataItems();
var indexs = args.get_itemIndexHierarchical()
alert("Row Qty Value : "+masterTable.get_dataItems()[indexs].findControl("txtQty").get_value());
alert(masterTable.get_dataItems()[indexs].get_cell("Name").innerHTML);
// masterTable.get_dataItems()[indexs].get_cell("displayAmnt").innerHTML = masterTable.get_dataItems()[indexs].findControl("txttotamnt").get_value();
//alert("<b>Total Amount: </b>" + args.getDataKeyValue("displayAmnt"));
}
function searchTextBOXClick(sender, eventArgs) {
var senderid = sender.get_id();
var strtext = $find(senderid).get_value();
alert(strtext);
window.radopen("TelerikDataBind.aspx", "UserListDialog");
}
//]]>
</script>
</telerik:RadCodeBlock>
<table style='width: 99%;table-layout:fixed;'>
<tr>
<td>
<table >
<tr>
<td >
<telerik:RadButton ID="DatumButton" runat="server" Text="test" onclick="DatumButton_Click" >
</telerik:RadButton>
</td>
<td>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>Details : </td>
</tr>
<tr>
<td>
<table>
<tr>
<td width="30">
<asp:ImageButton ID="btnRowAdd" runat="server"
ImageUrl="~/Images/Button/btnRowAdd.gif" onclick="btnRowAdd_Click" />
</td>
<td width="30">
<asp:ImageButton ID="btnRowDel" runat="server"
ImageUrl="~/Images/Button/btnRowDelete.gif" onclick="btnRowDel_Click" />
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td >
<table >
<tr>
<td>
<%--<telerik:RadGrid ID="RadGrid1" runat="server">
</telerik:RadGrid>--%>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
</telerik:RadAjaxManager>
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
</td>
</tr>
</table>
</td>
</tr>
</table>
<telerik:RadWindowManager ID="RadWindowManager1" runat="server" EnableShadow="true">
<Windows>
<telerik:RadWindow ID="UserListDialog" runat="server" Title="Editing record" Height="600px"
Width="1024px" ReloadOnShow="true" ShowContentDuringLoad="false"
Modal="true">
</telerik:RadWindow>
</Windows>
</telerik:RadWindowManager>
</asp:Content>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
using System.Data;
public partial class TelerikGridClientEvents : System.Web.UI.Page
{
#region Variables
RadGrid RadGrid1 = new RadGrid();
Boolean headerControl=false;
# endregion
#region PageLoad
protected void Page_Load(object sender, EventArgs e)
{
RadGrid1.ID = "RadGrid1";
this.PlaceHolder1.Controls.Add(RadGrid1);
if (!IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.Add("chk");
dt.Columns.Add("ID");
dt.Columns.Add("SearchID");
dt.Columns.Add("Name");
dt.Columns.Add("Qty");
dt.Columns.Add("Price");
dt.Columns.Add("TotalAmnt");
dt.Columns.Add("itemName");
dt.Columns.Add("Date");
dt.Columns.Add("delStatus");
dt.Rows.Add(1, 1,1, "Name1", 4, 3, 12,"item 1","2013-02-08", false);
dt.Rows.Add(2, 2,2, "Naem2", 5, 3, 15, "item 2", "2013-06-09", false);
dt.Rows.Add( 3,3,3, "Name3", 4, 6, 24, "Item 3", "2013-06-03", false);
Session["dt"] = dt;
SelectList();
}
RadAjaxManager1.AjaxSettings.AddAjaxSetting(RadGrid1, RadGrid1);
RadAjaxManager1.AjaxSettings.AddAjaxSetting(btnRowAdd, RadGrid1);
RadAjaxManager1.AjaxSettings.AddAjaxSetting(btnRowDel, RadGrid1);
RadAjaxManager1.AjaxSettings.AddAjaxSetting(RadGrid1, TextBox1);
}
protected void Page_Init(object source, System.EventArgs e)
{
InitializeGridControl();
}
protected void InitializeGridControl()
{
TelerikGridHelper.Layouts(RadGrid1, 400, 98,true, false,false,false,false,false,true,false);
TelerikGridHelper.LayoutPage(RadGrid1, 20,false);
TelerikGridHelper.ClientSetting(RadGrid1, false, false,false, false);
//grid events
TelerikGridHelper.ClientEvents(RadGrid1, clientEventType.gridCreated, "GridCreated");
TelerikGridHelper.ClientEvents(RadGrid1, clientEventType.rowClicked, "RowClick");
TelerikGridHelper.ClientEvents(RadGrid1, clientEventType.rowDblClick, "RowDblClick");
TelerikGridHelper.ClientEvents(RadGrid1, clientEventType.ColumnClick, "ColumnClick");
TelerikGridHelper.ClientEvents(RadGrid1, clientEventType.OnRowSelected, "RowSelected");
TelerikGridHelper.ColumnGroups(RadGrid1, "", "","", HorizontalAlign.Center, 100);
String[] keyname = { "Name" };
TelerikGridHelper.Mastertableview(RadGrid1, keyname, false);
//CheckBox Column
TelerikGridHelper.Templatecolumn(RadGrid1, "", "chk", "chk", "", HorizontalAlign.Left, 20, false, TelerikControlType.CheckBox, "chkID", "");
//Search Text Box
TelerikGridHelper.Templatecolumn(RadGrid1, "Search", "SearchID", "SearchID", "", HorizontalAlign.Left, 120, false, TelerikControlType.SearchTextBox, "txtSearchID", "");
//Bound column
TelerikGridHelper.BoundColumn(RadGrid1, "Name", "Name", "Name", "", HorizontalAlign.Left, 110, "", false, true);
//Numeric Text Box
TelerikGridHelper.Templatecolumn(RadGrid1, "Qty", "Qty", "Qty", "", HorizontalAlign.Left, 90, false, TelerikControlType.NumericTextBox, "txtQty", "");
//Numeric Text Box
TelerikGridHelper.Templatecolumn(RadGrid1, "Price", "Price", "Price", "", HorizontalAlign.Left, 90, false, TelerikControlType.NumericTextBox, "txtamnt", "");
//Numeric Text Box
TelerikGridHelper.Templatecolumn(RadGrid1, "TotalAmnt", "TotalAmnt", "TotalAmnt", "", HorizontalAlign.Left, 90, false, TelerikControlType.NumericTextBox, "txttotamnt", "");
////Bound column
//TelerikGridHelper.BoundColumn(RadGrid1, "Display Amnt", "displayAmnt", "displayAmnt", "Totals", HorizontalAlign.Left, 110, "", false, true);
//Label Column
TelerikGridHelper.Templatecolumn(RadGrid1, "Item Name", "itemName", "itemName", "", HorizontalAlign.Left, 90, false, TelerikControlType.Label, "lblamount", "");
//DateTime Column
TelerikGridHelper.Templatecolumn(RadGrid1, "Date", "Date", "Date", "", HorizontalAlign.Left, 130, false, TelerikControlType.RadDatePicker, "dtePicker", "");
//Bound column
TelerikGridHelper.BoundColumn(RadGrid1, "ID", "ID", "ID", "", HorizontalAlign.Left, 0, "", false, false);
//Push Button Column
TelerikGridHelper.ButtonColumn(RadGrid1, "Push Button ", "ID", "", HorizontalAlign.Center, 100, "Click",GridButtonColumnType.PushButton, "ButtonCommand","", true);
//Link Button Column
TelerikGridHelper.ButtonColumn(RadGrid1, "Push Button ", "ID", "", HorizontalAlign.Center, 100, "Link Button", GridButtonColumnType.LinkButton, "linkCommand","", true);
//Image Button Column
TelerikGridHelper.ButtonColumn(RadGrid1, "Push Button ", "ID", "", HorizontalAlign.Center, 100, "Image Button", GridButtonColumnType.ImageButton, "imgCommand", "~/Images/icArrow_lov.gif", true);
//grid events
// RadGrid1.NeedDataSource += new GridNeedDataSourceEventHandler(RadGrid1_NeedDataSource);
RadGrid1.ItemCommand += new GridCommandEventHandler(RadGrid1_ItemCommand);
RadGrid1.ItemDataBound += new GridItemEventHandler(RadGrid1_ItemDataBound);
RadGrid1.ItemCreated +=new GridItemEventHandler(RadGrid1_ItemCreated);
}
# endregion
# region Methods
private void SelectList()
{
DataTable dt = (DataTable)Session["dt"];
//DataView dv = new DataView(dt);
//dv.RowFilter = "delStatus ='false'";
dt.DefaultView.RowFilter = "delStatus ='false'";
//RadGrid1.DataSource = dv;
//RadGrid1.DataBind();
TelerikGridHelper.DataBinds(RadGrid1, dt, false);
}
# endregion
# region Page Events
protected void RadGrid1_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
{
if (e.CommandName == "ButtonCommand")
{
GridDataItem item = e.Item as GridDataItem;
item.Selected = true;
Label linkBtn = item.FindControl("lblamount") as Label;
TextBox1.Text = linkBtn.Text;
}
else if (e.CommandName == "linkCommand")
{
GridDataItem item = e.Item as GridDataItem;
item.Selected = true;
Label linkBtn = item.FindControl("lblamount") as Label;
TextBox1.Text = linkBtn.Text;
}
else if (e.CommandName == "imgCommand")
{
GridDataItem item = e.Item as GridDataItem;
item.Selected = true;
Label linkBtn = item.FindControl("lblamount") as Label;
TextBox1.Text = linkBtn.Text;
}
}
//protected void RadGrid1_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
//{
// // SelectList();
//}
protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
{
if (e.Item is GridHeaderItem)
{
GridHeaderItem item = (GridHeaderItem)e.Item;
CheckBox boolValue = new CheckBox();
boolValue.ID = "chkHeader";
TableCell cell = (TableCell)item["chk"];
cell.Controls.Add(boolValue);
headerControl = true;
}
}
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
if(e.Item is GridHeaderItem)
{
GridHeaderItem item1 = e.Item as GridHeaderItem;
CheckBox chkHeader = item1.FindControl("chkHeader") as CheckBox;
chkHeader.Attributes.Add("onClick", "return checkAllRows()");
}
if (e.Item is GridDataItem)
{
GridDataItem item = e.Item as GridDataItem;
RadNumericTextBox txtQty = item.FindControl("txtQty") as RadNumericTextBox;
RadNumericTextBox txtamnt = item.FindControl("txtamnt") as RadNumericTextBox;
RadNumericTextBox txttotamnt = item.FindControl("txttotamnt") as RadNumericTextBox;
RadTextBox txtSearchBox = item.FindControl("txtSearchID") as RadTextBox;
Label lbltext = item.FindControl("lblamount") as Label;
int index = item.ItemIndex;
txtQty.Attributes.Add("onChange", "return calculate('" + txtQty.ClientID + "','" + txtamnt.ClientID + "','" + txttotamnt.ClientID + "'," + index + ")");
txtamnt.Attributes.Add("onChange", "return calculate('" + txtQty.ClientID + "','" + txtamnt.ClientID + "','" + txttotamnt.ClientID + "'," + index + ")");
// txttotamnt.Attributes.Add("onfocus", "return calculate('" + txtQty.ClientID + "','" + txtamnt.ClientID + "','" + txttotamnt.ClientID + "'," + index + ")");
txtSearchBox.ClientEvents.OnButtonClick = "searchTextBOXClick";
//txttotamnt.ClientEvents.OnValueChanged = "Total";
}
}
protected void DatumButton_Click(object sender, EventArgs e)
{
}
protected void btnRowAdd_Click(object sender, ImageClickEventArgs e)
{
DataTable dt = (DataTable)Session["dt"];
for (int i = 0; i < RadGrid1.Items.Count; i++)
{
CheckBox chkSelected = (CheckBox)RadGrid1.Items[i].FindControl("chkID");
RadNumericTextBox txtQty = (RadNumericTextBox)RadGrid1.Items[i].FindControl("txtQty"); //item.FindControl("txtQty") as RadNumericTextBox;
RadNumericTextBox txtamnt = (RadNumericTextBox)RadGrid1.Items[i].FindControl("txtamnt"); //item.FindControl("txtamnt") as RadNumericTextBox;
RadNumericTextBox txttotamnt = (RadNumericTextBox)RadGrid1.Items[i].FindControl("txttotamnt"); //item.FindControl("txttotamnt") as RadNumericTextBox;
String Id = RadGrid1.Items[i]["ID"].Text;
DataRow[] drr = dt.Select("ID='" + Id + "'");
if (drr != null)
{
drr[0]["Qty"] = txtQty.Text;
drr[0]["Price"] = txtamnt.Text;
drr[0]["TotalAmnt"] = txttotamnt.Text;
if (chkSelected.Checked && chkSelected != null)
{
drr[0]["delStatus"] = "true";
}
}
dt.AcceptChanges();
}
int ids=dt.Rows.Count+1;
DataRow drnew = dt.NewRow();
drnew["chk"] = ids.ToString();
drnew["ID"] = ids.ToString();
drnew["SearchID"] = ids.ToString();
drnew["Name"] = "Name " + ids.ToString();
drnew["Qty"] = "0";
drnew["Price"] = "0";
drnew["TotalAmnt"] = "0";
drnew["itemName"] = "Item " + ids.ToString();
drnew["Date"] = DateTime.Today.ToString();
drnew["delStatus"] = "false";
dt.Rows.Add(drnew);
dt.AcceptChanges();
//RadGrid1.Rebind();
SelectList();
}
protected void btnRowDel_Click(object sender, ImageClickEventArgs e)
{
for (int i = 0; i < RadGrid1.Items.Count; i++)
{
CheckBox chkSelected = (CheckBox)RadGrid1.Items[i].FindControl("chkID");
RadNumericTextBox txtQty = (RadNumericTextBox)RadGrid1.Items[i].FindControl("txtQty"); //item.FindControl("txtQty") as RadNumericTextBox;
RadNumericTextBox txtamnt = (RadNumericTextBox)RadGrid1.Items[i].FindControl("txtamnt"); //item.FindControl("txtamnt") as RadNumericTextBox;
RadNumericTextBox txttotamnt = (RadNumericTextBox)RadGrid1.Items[i].FindControl("txttotamnt"); //item.FindControl("txttotamnt") as RadNumericTextBox;
String Id = RadGrid1.Items[i]["ID"].Text;
DataTable dt = (DataTable)Session["dt"];
DataRow[] drr = dt.Select("ID='" + Id + "'");
if (drr != null)
{
drr[0]["Qty"] = txtQty.Text;
drr[0]["Price"] = txtamnt.Text;
drr[0]["TotalAmnt"] = txttotamnt.Text;
if (chkSelected.Checked && chkSelected != null)
{
drr[0]["delStatus"] = "true";
}
}
dt.AcceptChanges();
}
SelectList();
//RadGrid1.Rebind();
}
# endregion
}
Hello,
I have a Server binded Scheduler with a Timeline View set to group by but it does not work.
My ASPX code:
<telerik:RadScheduler runat="server" ID="RadScheduler1" EnableAdvancedForm="false" AllowDelete="false"
AllowEdit="false" AllowInsert="false" CssClass="test" ShowFooter="false"
SelectedView="TimelineView" Height="500"
onappointmentdatabound="RadScheduler1_AppointmentDataBound"
OnResourcesPopulating="RadScheduler1_ResourcesPopulating" >
<WebServiceSettings Path="~/Controllers/SchedulerWebService.asmx" ResourcePopulationMode="ServerSide" />
<TimelineView GroupingDirection="Vertical" NumberOfSlots="31"
ColumnHeaderDateFormat="dd" GroupBy="Car" />
<AdvancedForm Modal="false" />
<MultiDayView UserSelectable="false" />
<MonthView UserSelectable="true" />
<WeekView UserSelectable="true" />
<DayView UserSelectable="true" />
My code behind code:
protected void Page_Load(object sender, EventArgs e)
{
List<Model> list = facade.List();
foreach (Model obj in list)
{
RadScheduler1.Resources.Add(new Resource("Car",
obj.Id, obj.BuyDate.ToString("dd/MM/yyyy")));
}
}
in the Web Service code I have implemented the GetAppointments and the GetResources methods. The GetAppointments returns a list of AppointmentData objects which are created in this way:
AppointmentData appointment = new AppointmentData();
appointment.ID = obj.ID;
ResourceData rd= new ResourceData();
rd.Key=appointment.ID;
appointment.Resources.Add(rd);
appointment.Subject = obj.ID;
appointment.Start = obj.Visit;
appointment.End = appointment.Start.AddHours(8);
appointments.Add(appointment);
What I'm getting with this code is a Scheduler with the added resources in the first column but it does not show the appointments.
Please hellp me with this control. Thanks.
<telerik
:GridTemplateColumn HeaderText="Male" UniqueName="Gender"> <ItemTemplate>
<asp:RadioButton ID="RadioButtonMaleItem" runat="server" GroupName="" Enabled="false"/>
</ItemTemplate>
<EditItemTemplate>
<asp:RadioButton ID="RadioButtonMaleEditItem" runat="server" GroupName="MF" />
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Female" UniqueName="Female">
<ItemTemplate>
<asp:RadioButton ID="RadioButtonFemaleItem" runat="server" GroupName="MF" Enabled="false" />
</ItemTemplate>
<EditItemTemplate>
<asp:RadioButton ID="RadioButtonFemaleItem" runat="server" GroupName="MF" />
</EditItemTemplate>
</telerik:GridTemplateColumn>
When I switch to EditMode the radiobuttons on the editrow are both unchecked how come? And how can I read the new checked value and update the database (similar to OnItemDataBound, but then the other way around)
regards martin
Hello,
I installed the trial version and started to fit your all kinds of controls but the controls are without formatting and I do not know where to download or installed on my computer where the style / skin of each control.
Is there a way to open a project in VS and in all Hsteilim DLL will already be built in the project?

I have a combo with load on demand and I refresh via javascript. What I want is the combo to populate items and then go and selected item that matches a value id. So for example:
OlinCA.loadStates = function (country, selectedState) { var rcbContactState = $find("<%= rcbContactState.ClientID %>"); rcbContactState.set_text("Loading..."); rcbContactState.clearSelection(); rcbContactState.requestItems((country + '~' + selectedState), false); rcbContactState.findItemByValue(selectedState).select();}As you see I am passing a value to populate the combo by a selected country and then select a matching state. Well every time I call that findItemByValue I get an error because that line fires before the list is populated. I need somehow to have the load request finish first. I tried to select a value via the server side code, but nothing gets selected. What is the way I can do the selection like I need to?