or
<telerik:RadToolBarDropDown Text="Export Options"> <Buttons> <telerik:RadToolBarButton runat="server" ImageUrl="~/_assets/images/report/excel.png" ToolTip="Export to Excel" /> <telerik:RadToolBarButton runat="server" ImageUrl="~/_assets/images/report/csv.png" ToolTip="Export to CSV (Raw Data Dump)" /> </Buttons></telerik:RadToolBarDropDown>
<telerik:RadAjaxPanel ID="callogRadPnl" runat="server"> <telerik:RadGrid ID="callogGrd" style="border:0; margin-top:-20px;" runat="server" AllowSorting="true" PageSize="5" AllowPaging="true" Width="99%" CssClass="gridView1" AutoGenerateColumns="false" onitemcommand="callogGrd_ItemCommand1" onitemcreated="callogGrd_ItemCreated" AllowFilteringByColumn="true" onneeddatasource="callogGrd_NeedDataSource" oninit="callogGrd_Init"> <MasterTableView> <HeaderStyle HorizontalAlign="Left" Height="10px" /> <ItemStyle Font-Names="Arial" Font-Size="12px" ForeColor="#000000"/> <AlternatingItemStyle Font-Names="Arial" Font-Size="12px" ForeColor="#000000"/> <PagerStyle Mode="NumericPages"/> <Columns> <telerik:GridBoundColumn DataField="BeginTime" HeaderText="Begin" SortExpression="BeginTime" HeaderStyle-Width="150px" FilterControlWidth="55px"/> <telerik:GridBoundColumn DataField="EndTime" HeaderText="EndTime" SortExpression="EndTime" HeaderStyle-Width="180px" AllowFiltering="false" /> <telerik:GridBoundColumn DataField="DispatcherName" HeaderText="Dispatcher" SortExpression="DispatcherName" FilterControlWidth="55px"/> <telerik:GridBoundColumn DataField="ConsoleName" HeaderText="Console" SortExpression="ConsoleName" FilterControlWidth="55px" AllowFiltering="true"/> <telerik:GridBoundColumn DataField="EndpointName" HeaderText="Endpoint" SortExpression="EndpointName" FilterControlWidth="55px"/> <telerik:GridBoundColumn DataField="CallType" HeaderText="CallType" SortExpression="CallType" FilterControlWidth="55px" HeaderStyle-Width="130px" /> <telerik:GridBoundColumn DataField="CallData" HeaderText="CallData" SortExpression="CallData" AllowFiltering="false"/> <telerik:GridBoundColumn DataField="TimeToAnswer" HeaderText="AnswerTime" SortExpression="TimeToAnswer" AllowFiltering="false" /> <telerik:GridBoundColumn DataField="CallDuration" HeaderText="Duration" SortExpression="CallDuration" UniqueName="calDuration" AllowFiltering="false"/> </Columns> </MasterTableView> <ExportSettings Csv-FileExtension="Csv" Csv-RowDelimiter="NewLine"> </ExportSettings> </telerik:RadGrid> </telerik:RadAjaxPanel>function OnClientSelectionChange(editor, args) { editor.get_document().execCommand("ForeColor", false, "Red");}
But in this case font colour changes to red event when user select some part of the text with mouse or with keyboard, and that is totally wrong. I also tried to handle "keydown" event for the content area, but in this case each symbol is wrapped by span tag, so I get something like<span style="font: red;">r<span style="font: red;">e<span style="font: red;">s</span></span><span>
<%@ Page Language="VB" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><%@ Register TagPrefix="xx" Namespace="Example" %><%@ Import Namespace="System.Linq" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"> Protected Sub grdExample_NeedDataSource(ByVal sender As Object, ByVal e As GridNeedDataSourceEventArgs) Dim Landmarks() As Landmark Landmarks = {New Landmark With {.Name = "Wrigley Field", .AddressId = 3}, _ New Landmark With {.Name = "British PM Residence", .AddressId = 1}, _ New Landmark With {.Name = "Hofbräuhaus", .AddressId = 4}, _ New Landmark With {.Name = "Whitehouse", .AddressId = 2}} grdExample.DataSource = Landmarks End Sub Protected Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs) If CType(Session.Item("addrCollection"), Address()) Is Nothing Then Call Session.Add("addrCollection", _ {New Address With {.Id = 1, .Street = "10 Downing St", .City = "London", .PostalCode = "SW1A 2AA", .Province = "England", .Country = "UK"}, _ New Address With {.Id = 2, .Street = "1600 Pennsylvania Ave NW", .City = "Washington", .PostalCode = "20500", .Province = "District of Columbia", .Country = "USA"}, _ New Address With {.Id = 3, .Street = "1060 W. Addison St", .City = "Chicago", .PostalCode = "60613", .Province = "Illinois", .Country = "USA"}, _ New Address With {.Id = 4, .Street = "Am Platzl 9", .City = "Munich", .PostalCode = "D-80331", .Province = "Bavaria", .Country = "Germany"}}) End If End Sub </script><html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Sorting Issue</title> </head> <body> <form id="form1" runat="server"> <telerik:RadScriptManager ID="RadScriptManager1" runat="server" /> <div> <telerik:RadGrid ID="grdExample" runat="server" OnNeedDataSource="grdExample_NeedDataSource" AllowSorting="true" AutoGenerateColumns="false" > <MasterTableView> <Columns> <telerik:GridBoundColumn DataField="Name" HeaderText="Landmark" /> <telerik:GridNumericColumn DataField="AddressId" HeaderText="Address ID" /> <xx:SampleColumn DataField="AddressId" HeaderText="Country" /> <xx:SampleColumn DataField="AddressId" HeaderText ="Province" /> <xx:SampleColumn DataField="AddressId" HeaderText="City" /> <xx:SampleColumn DataField="AddressId" HeaderText="Street Address" /> <xx:SampleColumn DataField="AddressId" HeaderText="Postal Code" /> </Columns> </MasterTableView> </telerik:RadGrid> </div> </form> </body></html>Classes:
Option Infer OffOption Strict OnOption Explicit OnImports Telerik.Web.UIImports System.Web.HttpContextNamespace Example Public Class SampleColumn Inherits GridBoundColumn Protected Overrides Function FormatDataValue(ByVal dataValue As Object, ByVal item As GridItem) As String Dim lm As Landmark Dim Addresses As IEnumerable(Of Address) Dim address As Address lm = CType(item.DataItem, Landmark) Addresses = CType(Current.Session.Item("addrCollection"), Address()) address = Addresses.First(Function(a As Address) a.Id = lm.AddressId) Select Case MyBase.HeaderText Case "Street Address" Return address.Street Case "City" Return address.City Case "Postal Code" Return address.PostalCode Case "Province" Return address.Province Case "Country" Return address.Country Case Else Return "Huh?" End Select End Function End ClassEnd NamespacePublic Class Landmark Public Property Name As String Public Property AddressId As IntegerEnd ClassPublic Class Address Public Property Id As Integer Public Property Street As String Public Property City As String Public Property Province As String Public Property PostalCode As String Public Property Country As StringEnd Class