or
Protected Sub rgvMyGrid_RowCommand(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles rgvMyGrid.ItemCommand If (e.CommandName = "DeleteMSDS") Then Dim myDelete As WinampButton = CType(e.Item.FindControl("btnDelete"), WinampButton) myDelete.CommandName = "DeleteMSDS" myDelete.CommandArgument = System.Web.UI.DataBinder.Eval(e.Item.DataItem, "MSDSID") If System.Web.UI.DataBinder.Eval(e.item.DataItem, "Active") myDelete.Attributes.Add("onClick", "javascript:return confirm('Are you sure you want to permanently delete this SDS / MSDS?');") End If End IfProtected Sub rgDispatch_ItemDataBound(sender As Object, e As Telerik.Web.UI.GridItemEventArgs) Handles rgDispatch.ItemDataBound '//Is it a GridDataItem If Not IsNothing(TryCast(e.Item, Telerik.Web.UI.GridDataItem)) Then 'Get the instance of the right type Dim dataBoundItem As Telerik.Web.UI.GridDataItem = DirectCast(e.Item, Telerik.Web.UI.GridDataItem) 'Set the desired color on the Status column based on the value Dim StatusColIndex As Integer = rgDispatch.Columns.FindByUniqueName("Status").OrderIndex Select Case dataBoundItem("Status").Text Case "Loading" dataBoundItem("Status").BackColor = System.Drawing.Color.Yellow Case "Loaded" dataBoundItem("Status").BackColor = System.Drawing.Color.DodgerBlue Case "Claimed" dataBoundItem("Status").BackColor = System.Drawing.Color.Orange Case "Started" dataBoundItem("Status").BackColor = System.Drawing.Color.FromArgb(19, 229, 19) 'Green color Case "Stopped" dataBoundItem("Status").BackColor = System.Drawing.Color.IndianRed End Select 'Set the desired color on the Status column based on the value Dim MatReadyColIndex As Integer = rgDispatch.Columns.FindByUniqueName("MatReady").OrderIndex Select Case dataBoundItem("MatReady").Text Case "Yes" e.Item.Cells(MatReadyColIndex).BackColor = System.Drawing.Color.FromArgb(19, 229, 19) Case "No" e.Item.Cells(MatReadyColIndex).BackColor = System.Drawing.Color.IndianRed End Select End If If Not IsNothing(TryCast(e.Item, Telerik.Web.UI.GridPagerItem)) Then Dim pager As Telerik.Web.UI.GridPagerItem = DirectCast(e.Item, Telerik.Web.UI.GridPagerItem) Dim PagerLabel As Label = pager.FindControl("ChangePageSizeLabel") PagerLabel.Text = "Items per Page" End IfEnd Sub<telerik:GridTemplateColumn ColumnGroupName="DLB" UniqueName="Location" Display="True" HeaderText="Files" > <ItemTemplate> <a href="<%# Eval("Location")%>" target="_blank">Open folder</a> </ItemTemplate></telerik:GridTemplateColumn>
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.Web.Services;namespace SMTX.Common.Web { public partial class gridtest : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) initGrid(); } public void initGrid() { Forms.BL.EntityClasses.ViewEntity objView = Forms.BL.MyCode.ViewFactory.fetch(18); RadGrid1.AllowFilteringByColumn = true; GridBoundColumn objCol = new GridBoundColumn { AllowFiltering = true, DataField = "Field1", HeaderText = "Field1", DataType = Type.GetType("System.String"), FilterTemplate = new FilterTemplateCombo() }; RadGrid1.Columns.Add(objCol); objCol = new GridBoundColumn { AllowFiltering = false, DataField = "Field2", HeaderText = "Field2", DataType = Type.GetType("System.String") }; RadGrid1.Columns.Add(objCol); ScriptManager.RegisterStartupScript(this, this.GetType(), "CallGetView", @"setTimeout(function() {radGrid_Init();} , 1000);", true); } [WebMethod] public static List<dataContainer> GetData(List<GridFilterExpression> p_lstFilterExpressions) { List<dataContainer> lstData = getDataForGrid(p_lstFilterExpressions); return lstData; } public static List<dataContainer> getDataForGrid(List<GridFilterExpression> p_lstFilterExpressions) { List<dataContainer> lstData = dataContainer.getTestData(); List<String> lstFilterValues = null; if (p_lstFilterExpressions.Count > 0) lstFilterValues = p_lstFilterExpressions[0].FieldValue.Split(new []{"||"}, StringSplitOptions.RemoveEmptyEntries).ToList(); if (lstFilterValues == null) return lstData; else return lstData.Where(r => lstFilterValues.Contains(r.Field1)).ToList(); } } public class dataContainer { public Object Field1 { get; set; } public Object Field2 { get; set; } public static List<dataContainer> getTestData() { List<dataContainer> lstToRetrun = new List<dataContainer>(); lstToRetrun.Add(new dataContainer { Field1 = "Name1", Field2 = "Name1field2" }); lstToRetrun.Add(new dataContainer { Field1 = "Name2", Field2 = "Name2field2" }); return lstToRetrun; } } public class FilterTemplateCombo : ITemplate { object m_objDataSource; public FilterTemplateCombo() { m_objDataSource = new[] { "Name1", "Name2" }; } public void InstantiateIn(Control objContainer) { RadComboBox objCombobox = new RadComboBox(); objContainer.Controls.Add(objCombobox); objCombobox.DataSource = m_objDataSource; objCombobox.DataBind(); objCombobox.OnClientItemChecked = "RadGrid_ComboBoxMultiFilterCommand"; objCombobox.CheckBoxes = true; foreach (RadComboBoxItem objItem in objCombobox.Items) objItem.Checked = true; } }}<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="gridtest.aspx.cs" Inherits="SMTX.Common.Web.gridtest" %><%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajax" %><%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %><html><body> <form id="form1" runat="server"> <ajax:ToolkitScriptManager ID="MyToolkitScriptManager" runat="server" EnablePageMethods="true" /> <telerik:RadGrid ID="RadGrid1" runat="server"> <ClientSettings> <ClientEvents OnCommand="RadGrid_Command" /> </ClientSettings> </telerik:RadGrid> <telerik:RadScriptBlock runat="server"> <script type="text/javascript"> function radGrid_Init() { var tableView = $find("RadGrid1").get_masterTableView(); PageMethods.GetData(tableView.get_filterExpressions().toList(), RadGrid_Update); } function RadGrid_Command(sender, args) { args.set_cancel(true); var filterExpressions = sender.get_masterTableView().get_filterExpressions(); PageMethods.GetData(filterExpressions.toList(), RadGrid_Update); } function RadGrid_ComboBoxMultiFilterCommand(sender, args) { var gridTableView = sender.get_parent().get_parent().get_masterTableView(); var arr_objItems = sender.get_checkedItems(); if (arr_objItems.length > 0) { var strData = ""; for (var i = 0; i < arr_objItems.length; i++) strData += "||" + arr_objItems[i].get_value(); gridTableView.filter("Field1", strData, Telerik.Web.UI.GridFilterFunction.Custom); } else { gridTableView.filter("Field1", "", Telerik.Web.UI.GridFilterFunction.NoFilter); } } function RadGrid_Update(result) { var tableView = $find("RadGrid1").get_masterTableView(); tableView.set_dataSource(result); tableView.dataBind(); } </script> </telerik:RadScriptBlock> </form></body></html><NoRecordsTemplate> <div style="text-align: center; width: 100%;"> <asp:Label Text="<%$Resources:RadGridLib,grid_client_master_no_records %>" ID="LabelNoDoc" runat="server" /> </div></NoRecordsTemplate><telerik:RadScheduler ID="RadScheduler1" runat="server" TimelineView-NumberOfSlots="5" Skin="Web20" EnableEmbeddedSkins="true" EnableEmbeddedBaseStylesheet="false" DataStartField="Start" DataEndField="End" DataSubjectField="Subject" DataKeyField="ID" EnableDescriptionField="true" GroupingDirection="Vertical" StartInsertingInAdvancedForm="True" AdvancedForm-Modal="False" OnAppointmentDelete="RadScheduler1_AppointmentDelete" OnAppointmentInsert="RadScheduler1_AppointmentInsert" OnAppointmentUpdate="RadScheduler1_AppointmentUpdate" OnFormCreating="RadScheduler1_FormCreating" OnFormCreated="RadScheduler1_FormCreated" OnAppointmentDataBound="RadScheduler1_AppointmentDataBound" OnDataBound="RadScheduler1_OnDataBound" OnNavigationComplete="RadScheduler1_NavigationComplete"> <WeekView DayStartTime="06:00:00" DayEndTime="23:59:00" WorkDayStartTime="08:00:00" WorkDayEndTime="18:00:00" /> <DayView DayStartTime="06:00:00" DayEndTime="23:59:00" WorkDayStartTime="08:00:00" WorkDayEndTime="18:00:00" /> <MonthView VisibleAppointmentsPerDay="20" AdaptiveRowHeight="true" /> <TimelineView SlotDuration="12:00:00" NumberOfSlots="10" TimeLabelSpan="2" ColumnHeaderDateFormat="dddd, MMMM d" /> <ResourceStyles> <telerik:ResourceStyleMapping Type="Category" Text="Out of Office" ApplyCssClass="rsCategoryViolet" /> <telerik:ResourceStyleMapping Type="Category" Text="After Hours" ApplyCssClass="rsCategoryRed" /> <telerik:ResourceStyleMapping Type="Category" Text="Projects" ApplyCssClass="rsCategoryDarkGreen" /> <telerik:ResourceStyleMapping Type="Category" Text="MACs" ApplyCssClass="rsCategoryGreen" /> <telerik:ResourceStyleMapping Type="Category" Text="VNMS" ApplyCssClass="rsCategoryDarkBlue" /> <telerik:ResourceStyleMapping Type="Category" Text="IPT/Engineering" ApplyCssClass="rsCategoryDarkRed" /> <telerik:ResourceStyleMapping Type="Category" Text="Other" ApplyCssClass="rsCategoryOrange" /> <telerik:ResourceStyleMapping Type="Category" Text="Remote Day" ApplyCssClass="rsCategoryYellow" /> <telerik:ResourceStyleMapping Type="Category" Text="Region Coverage" ApplyCssClass="rsCategoryPink" /> </ResourceStyles> <TimeSlotContextMenuSettings EnableDefault="true" /> <AppointmentContextMenuSettings EnableDefault="true" /> </telerik:RadScheduler>protected override void OnPreRender(EventArgs e) { RadScheduler1.OverflowBehavior = OverflowBehavior.Expand; base.OnPreRender(e); }