or
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" DefaultLoadingPanelID="RadAjaxLoadingPanel1"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="ButtonContact"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="PanelContactForm" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Glow" MinDisplayTime="5000"> </telerik:RadAjaxLoadingPanel>protected void Page_Load(object sender, EventArgs e) { Panel PanelContactForm1 = (Panel)PageLayoutMaster.FindControl("PanelContactForm"); Button ButtonContact1 = (Button)PanelContactForm1.FindControl("ButtonContact"); RadAjaxManager1.AjaxSettings.AddAjaxSetting(ButtonContact1, PanelContactForm1); }<%@ Page Title="" Language="C#" MasterPageFile="~/Content/themes/Level_One.Master" AutoEventWireup="true" CodeBehind="RequestManager.aspx.cs" Inherits="WebApplication.Forms.RequestManager" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><%@ MasterType VirtualPath="~/Content/themes/Level_One.Master" %><asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> <%: System.Web.Optimization.Styles.Render("~/Content/css") %></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="main_placeholder" runat="server"> <telerik:RadCodeBlock ID="cb1" runat="server"> <script type="text/javascript"> function mngRequestStarted(ajaxManager, eventArgs) { // alert(eventArgs.get_eventTargetElement()) var newArr = new Array(); for (var name in ajaxManager) { newArr.push(name + "<-->" + ajaxManager[name]) } } </script> </telerik:RadCodeBlock> <telerik:RadScriptManager ID="main_radscriptmanager" runat="server" EnableViewState="true"></telerik:RadScriptManager> <telerik:RadAjaxLoadingPanel ID="main_loading" runat="server" Skin="Metro" EnableViewState="true"></telerik:RadAjaxLoadingPanel> <telerik:RadAjaxManager ID="main_ajaxmanager" runat="server" EnableAJAX="true" EnableViewState="true" ClientEvents-OnRequestStart="mngRequestStarted"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="tvRequestList"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="tvRequestList" LoadingPanelID="main_loading" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="main_windowmanager"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="main_windowmanager" LoadingPanelID="main_loading" /> <telerik:AjaxUpdatedControl ControlID="wndw_permissions" LoadingPanelID="main_loading" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="btnSave" EventName="Click"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="btnSave" UpdatePanelRenderMode="Inline" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="btnCancel"></telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <asp:Button ID="cmdTest" runat="server" OnClick="cmdTest_Click" /> <telerik:RadSplitter ID="RadSplitter1" runat="server" Height="700px" Width="100%" EnableViewState="false"> <telerik:RadPane ID="Pane1" runat="server" Height="100%" Width="20%"> <telerik:RadTreeView ID="tvRequestList" runat="server" Skin="Metro" PersistLoadOnDemandNodes="true" OnNodeExpand="tvRequestList_NodeExpand" OnNodeClick="tvRequestList_NodeClick"> </telerik:RadTreeView> </telerik:RadPane> <telerik:RadSplitBar ID="RadSplitbar1" runat="server" CollapseMode="Forward"> </telerik:RadSplitBar> <telerik:RadPane ID="Pane2" runat="server"> Pane2 - 100px </telerik:RadPane> <%-- <telerik:RadSplitBar ID="Radsplitbar2" runat="server" CollapseMode="Forward"> </telerik:RadSplitBar> <telerik:RadPane ID="Pane3" runat="server" Height="150"> Pane3 - 150px </telerik:RadPane>--%> </telerik:RadSplitter> <telerik:RadWindowManager runat="server" ID="RadWindowManager1" EnableViewState="true"></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 Jabil.Core;using DataEntities.Application.Context;using DataEntities.Application.Entities;using Telerik.Web.UI;using System.Collections;using System.Collections.Generic;namespace WebApplication.Forms{ public partial class RequestManager : FrameworkPage { protected void Page_Load(object sender, EventArgs e) { this.Master.PageTitle = "Request Manager"; if (!IsPostBack) { LoadRootNodes(tvRequestList); } } private void LoadRootNodes(RadTreeView tv) { using (RequestsDataContext rdc = new RequestsDataContext(string.Empty)) { List<RequestManagerTreeList> tl = rdc.GetRequestManagerTreeViewList(1, 0, false).ToList<RequestManagerTreeList>(); foreach (RequestManagerTreeList tlItem in tl) { RadTreeNode tn = new RadTreeNode(); tn.Text = tlItem.ItemName; tn.Value = ("L1" + tlItem.ItemId.ToString()); tn.ExpandMode = TreeNodeExpandMode.ServerSideCallBack; tv.Nodes.Add(tn); } } } protected void tvRequestList_NodeExpand(object sender, RadTreeNodeEventArgs e) { try { using (RequestsDataContext rdc = new RequestsDataContext(string.Empty)) { string itemValue = e.Node.Value; if (itemValue.Substring(0, 1) == "L") { int level = Convert.ToInt32(itemValue.Substring(1, 1)) + 1; int itemId = Convert.ToInt32(itemValue.Substring(2, itemValue.Length - 2).ToString()); string levelTag = "L" + level.ToString(); List<RequestManagerTreeList> tl = rdc.GetRequestManagerTreeViewList(level, itemId, false).ToList<RequestManagerTreeList>(); foreach (RequestManagerTreeList tlItem in tl) { RadTreeNode tn = new RadTreeNode(); tn.Text = tlItem.ItemName; tn.Value = levelTag + tlItem.ItemId.ToString(); if (level < 3) { tn.ExpandMode = TreeNodeExpandMode.ServerSideCallBack; } e.Node.Nodes.Add(tn); } } } } catch (Exception ex) { LogError(ex); show_error_message(ex.Message); } } protected void tvRequestList_NodeClick(object sender, RadTreeNodeEventArgs e) { show_error_message("Test"); } private void show_error_message(string error_message) { string error = error_message.Replace("'", ""); main_ajaxmanager.ResponseScripts.Add(string.Format("window.radalert(\"" + error + "\")")); } protected void cmdTest_Click(object sender, EventArgs e) { show_error_message("Test"); } }}<InsertItemTemplate> <telerik:RadComboBox ID="CmbChemicalsInsertMode" CheckBoxes="true" Filter="Contains" HighlightTemplatedItems="true" ExpandDirection="Up" MarkFirstMatch="true" AllowCustomText="true" DataTextField="Name" EmptyMessage="Vælg stoffer" Runat="server"></telerik:RadComboBox> <asp:ImageButton ID="BtnAddChemical" CausesValidation="false" ToolTip="Tilføj valgte" width="15px" height="15px" ImageUrl="~/Images/plus.png" OnClick="BtnAddChemical_Click" runat="server" ></asp:ImageButton><telerik:RadTextBox ID="TxtDeclaration" TextMode="MultiLine" Rows="5" Text='<%# DataBinder.Eval(Container, "DataItem.Declaration") %>' Runat="server" Skin="Metro" Width="170px" /> <telerik:RadAutoCompleteBox ID="RACBChemicals" InputType="Token" AllowCustomEntry="true" Skin="Metro" DataTextField="Name" DropDownWidth="400" DropDownHeight="250" Runat="server"></telerik:RadAutoCompleteBox></InsertItemTemplate>Hi Guys,
I'm trying to create a chart with multiple line series' below is my code:
string sql = string.Format(@"SELECT dbo.ProductSales.OrderDate, dbo.ProductSales.ProductID, dbo.ProductSales.UnitsSold, dbo.Product.Name FROM dbo.ProductSales INNER JOIN dbo.Product ON dbo.ProductSales.ProductID = dbo.Product.ProductID WHERE (DistributionCentreID = 3) AND (dbo.Product.ProductID = 10) GROUP BY dbo.ProductSales.OrderDate, dbo.ProductSales.ProductID, dbo.ProductSales.UnitsSold, dbo.Product.Name HAVING (OrderDate >= CONVERT(DATETIME, '01/10/2013', 103)) AND (OrderDate <= CONVERT(DATETIME, '10/10/2013', 103))"); SqlUtils db = new SqlUtils("Charon"); try { DataTable dt = db.FillTable(sql); RadHtmlChart htmlChart = new RadHtmlChart(); htmlChart.ID = "htmlChart"; htmlChart.Width = Unit.Pixel(680); htmlChart.Height = Unit.Pixel(400); htmlChart.Legend.Appearance.Position = ChartLegendPosition.Bottom; htmlChart.PlotArea.XAxis.TitleAppearance.Text = "Date"; htmlChart.PlotArea.YAxis.TitleAppearance.Text = "Units Sold"; htmlChart.PlotArea.XAxis.MajorTickType = TickType.Outside; htmlChart.PlotArea.XAxis.MinorTickType = TickType.Outside; //htmlChart.PlotArea.XAxis.DataLabelsField = row["OrderDate"].ToString(); foreach (DataRow row in dt.Rows) { var lineSeries = new LineSeries { Name = row["Name"].ToString() }; lineSeries.LabelsAppearance.Visible = true; lineSeries.TooltipsAppearance.Color = System.Drawing.Color.White; lineSeries.TooltipsAppearance.DataFormatString = string.Format("{0} x {1}", row["UnitsSold"], row["Name"]); lineSeries.DataFieldY = "UnitsSold"; lineSeries.DataFieldX = "OrderDate"; //SeriesItem seriesItem = new SeriesItem(); var unitsSold = (int)row["UnitsSold"]; //lineSeries.SeriesItems.Add(unitsSold); CategorySeriesItem seriesItem1 = new CategorySeriesItem(); seriesItem1.Y = unitsSold; lineSeries.SeriesItems.Add(seriesItem1); htmlChart.PlotArea.Series.Add(lineSeries); } HtmlChartHolder.Controls.Add(htmlChart); //LineChart.DataSource = trendAnalysisbyDate(1); //LineChart.DataBind(); } finally { db.Close(); }
Example Data & how the chart currently looks is attached...
I've just hidden the Name column.. just a text string..
I want the chart to show Units Sold on the left (y axis) and the order date on the bottom (x axis) and the product name to the be label/ledgend..
Any help would be great. Thanks!