How do I add a custom tool icon?
Here's what I have so far:
<%
@ Page Language="C#" AutoEventWireup="true" CodeFile="RadEdit.aspx.cs" Inherits="RadEdit" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<html>
<head>
<style>
body{background-color:#f0f0f0;}
.FieldLabel{background-image: url(FieldLabel.gif);}
</style>
</head>
<body>
<form runat="server">
<telerik:RadScriptManager ID="RadScriptManager1" runat="server" />
<telerik:RadEditor ID="RadEditor1" runat="server" Skin="WebBlue" ToolsFile="FormTools.xml"></telerik:RadEditor>
</form>
<script>
Telerik.Web.UI.Editor.CommandList["FieldLabel"] = function(commandName, editor, args) { editor.pasteHtml("<span id=\"FiledLabel\">Field Label</span>"); }
</script>
</body>
</html>
FormTools.xml:
<root>
<tools name="CustomTools" dockable="true" enabled="true">
<tool name="FieldLabel" />
</tools>
</root>
Everything works except that the default icon is not replaced by FieldLabel.gif.
Please, No Themes, Skins, Subdirectories, dropdown listboxes or any other code that might confuse the issue. It seems to me to be how the tool is referenced in the <style> tag.

| <style type="text/css"> |
| #wrapper |
| { |
| text-align: left; |
| margin: 0px auto; |
| padding: 0px; |
| border: 0; |
| width: 600px; |
| } |
| #head |
| { |
| float: left; |
| width: 505px; |
| } |
| #corner |
| { |
| float: left; |
| width: 95px; |
| color: Red; |
| } |
| #side-a |
| { |
| height: 500px; |
| float: left; |
| width: 95px; |
| text-align: left; |
| } |
| #side-b |
| { |
| margin: 0; |
| float: left; |
| width: 505px; |
| } |
| </style> |
| <asp:ScriptManager ID="ScriptManager" runat="server" /> |
| <telerik:RadDockLayout ID="RadDockLayoutMain" runat="server"> |
| <div id="wrapper"> |
| <div id="corner"> |
| </div> |
| <div id="head"> |
| <telerik:RadDockZone BorderWidth="0" ID="dockTop" Height="40" Width="500" runat="server" |
| Orientation="Horizontal"> |
| <telerik:RadDock BorderWidth="0" ID="RadDock1" runat="server" DockHandle="Grip"> |
| <ContentTemplate> |
| <asp:Button ID="button1" runat="server" Text="butt1" /> |
| <asp:Button ID="button2" runat="server" Text="butt2" /> |
| <asp:Button ID="button3" runat="server" Text="butt3" /> |
| <asp:Button ID="button4" runat="server" Text="butt4" /> |
| </ContentTemplate> |
| </telerik:RadDock> |
| </telerik:RadDockZone> |
| </div> |
| <div id="container"> |
| <div id="side-a"> |
| <telerik:RadDockZone Height="500" BorderWidth="0" ID="dockLeft" runat="server" Orientation="Vertical"> |
| </telerik:RadDockZone> |
| </div> |
| <div id="side-b"> |
| <img src="" width="500" height="500" /> |
| </div> |
| </div> |
| </div> |
| </telerik:RadDockLayout> |
| telerik:RadComboBox ID="cmbCarrier" runat="server" DataSourceID="sqlCarrier" |
| DataTextField="Name" DataValueField="CARRIER_ID" AutoPostBack="True" Width="388px" CausesValidation="False"> |
| <CollapseAnimation Duration="200" Type="OutQuint" /> |
| </telerik:RadComboBox> |
| Select Contract: |
| <telerik:RadComboBox ID="cmbContract" runat="server" DataSourceID="sqlContracts" MarkFirstMatch="true" OnDataBound="cmbContract_DataBound" EnableLoadOnDemand="true" HighlightTemplatedItems="true" Width="420px" OnItemDataBound="cmbContract_ItemDataBound" OnSelectedIndexChanged="cmbContract_SelectedIndexChanged" CausesValidation="False" > |
| <HeaderTemplate> |
| <table style="width: 100%; text-align: left"> |
| <tr> |
| <td style="width: 125px;"> |
| Contract ID |
| </td> |
| <td style="width: 125px;"> |
| Carrier |
| </td> |
| <td style="width: 125px;"> |
| Description |
| </td> |
| </tr> |
| </table> |
| </HeaderTemplate> |
| <ItemTemplate> |
| <table style="width: 100%; text-align: left"> |
| <tr> |
| <td style="width: 125px;"> |
| <%# DataBinder.Eval(Container.DataItem, "CONTRACT_ID") %> |
| </td> |
| <td style="width: 125px;"> |
| <%# DataBinder.Eval(Container.DataItem, "Name") %> |
| </td> |
| <td style="width: 125px;"> |
| <%# DataBinder.Eval(Container.DataItem, "DESCRIPTION") %> |
| </td> |
| </tr> |
| </table> |
| </ItemTemplate> |
| <CollapseAnimation Duration="200" Type="OutQuint" /> |
| </telerik:RadComboBox> |
| protected void cmbContract_ItemDataBound(object sender, Telerik.Web.UI.RadComboBoxItemEventArgs e) |
| { |
| { |
| e.Item.Text = ((DataRowView)e.Item.DataItem)["CONTRACT_ID"].ToString() + "; " + ((DataRowView)e.Item.DataItem)["Name"].ToString() + "; " + ((DataRowView)e.Item.DataItem)["DESCRIPTION"].ToString(); |
| e.Item.Value = ((DataRowView)e.Item.DataItem)["CONTRACT_ID"].ToString() + "; " + ((DataRowView)e.Item.DataItem)["Name"].ToString() + "; " + ((DataRowView)e.Item.DataItem)["DESCRIPTION"].ToString(); |
| } |
| } |
How can i give the Script in RADAjaxManager like this for ScriptManager ??
It is possible for ScriptManager.
<asp:ScriptManager ID="Temp" runat="Server">
<
Scripts>
<asp:ScriptReference Path="~/JScript.js" />
</Scripts>
</
asp:ScriptManager>
| <telerik:RadGrid ID="rgrdTransits" runat="server" OnNeedDataSource="rgrdTransits_NeedDataSource" AutoGenerateColumns="false" Skin="Default2006"> |
| <MasterTableView DataKeyNames="Id" CommandItemDisplay="Top" EditMode="InPlace"> |
| <Columns> |
| <telerik:GridBoundColumn DataField="Id" DataType="System.Int32" HeaderText="Id" SortExpression="Id" UniqueName="Id" > |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="Nom" HeaderText="Nom" SortExpression="Nom" UniqueName="Nom"> |
| </telerik:GridBoundColumn> |
| <telerik:GridEditCommandColumn ButtonType="ImageButton"> |
| </telerik:GridEditCommandColumn> |
| </Columns> |
| </MasterTableView> |
| </telerik:RadGrid> |
I have a 3-tier hierarchical grid that looks like this:
Areas
Attributes
Details
In the Attributes detail table, there are three columns: Description, Grade and Comments. I am performing in-place editing and have chosen to use a GridDropDownColumn tied to a LinqDataSource to bring back a simple english-value pair list that fills the Grade column. This is causing a problem on the client that apparently stops the RadAjaxManager from working. If I take the dropdown out and put a regular bound control back in, all is well. Other custom columns seem to work ok.
Another problem I've run into is that the Description field is supposed to be a read-only field and is marked as such. There are times when hitting Update or Cancel that the grid forgets it's a read-only field and presents a textbox instead.
A third problem I'm having is that when I perform an action that fills the grid I run the following code to turn on edit mode by default in the Attributes detail table:
| Protected Sub grdRatingDetail_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles grdRatingDetail.PreRender |
| For Each nestedViewItem As GridNestedViewItem In grdRatingDetail.MasterTableView.GetItems(GridItemType.NestedView) |
| For Each newnest As GridTableView In nestedViewItem.NestedTableViews |
| For Each row As GridDataItem In newnest.Items |
| row.Edit = True |
| Next |
| Next |
| Next |
| End Sub |
<
Columns><telerik:GridButtonColumn Text="View" CommandName="View"></telerik:GridButtonColumn></Columns>
Thanks
Mark