or

When applying round to top corners on a Bar chart doesn't give the results I was looking for for negative values.
On the bars presenting negative values the actual top corners are rounded not the corners that are furtherst away from the axis.
This markup for a chart displays this:
| <telerik:RadChart ID="RadChart1" runat="server" > |
| <Series> |
| <telerik:ChartSeries Name="Series 1"> |
| <Appearance Corners="Round, Round, Rectangle, Rectangle, 3"> |
| </Appearance> |
| <Items> |
| <telerik:ChartSeriesItem Name="Item 1" YValue="10"> |
| </telerik:ChartSeriesItem> |
| <telerik:ChartSeriesItem Name="Item 2" YValue="30"> |
| </telerik:ChartSeriesItem> |
| <telerik:ChartSeriesItem Name="Item 3" YValue="-10"> |
| </telerik:ChartSeriesItem> |
| <telerik:ChartSeriesItem Name="Item 4" YValue="10"> |
| </telerik:ChartSeriesItem> |
| </Items> |
| </telerik:ChartSeries> |
| </Series> |
| <ChartTitle> |
| <TextBlock Text="Rounded Negative Corner"> |
| <Appearance TextProperties-Color="Black" TextProperties-Font="Arial, 18pt"> |
| </Appearance> |
| </TextBlock> |
| </ChartTitle> |
| </telerik:RadChart> |
| protected void RadChart1_ItemDataBound(object sender, Telerik.Charting.ChartItemDataBoundEventArgs e) |
| { |
| if (e.SeriesItem.YValue < 0) |
| { |
| e.SeriesItem.Appearance.Corners.BottomLeft = Telerik.Charting.Styles.CornerType.Round; |
| e.SeriesItem.Appearance.Corners.BottomRight = Telerik.Charting.Styles.CornerType.Round; |
| e.SeriesItem.Appearance.Corners.TopLeft = Telerik.Charting.Styles.CornerType.Rectangle; |
| e.SeriesItem.Appearance.Corners.TopRight = Telerik.Charting.Styles.CornerType.Rectangle; |
| } |
| } |
| <%@ Page Language="VB" AutoEventWireup="false" CodeFile="NestedNew.aspx.vb" Inherits="NestedNew" %> |
| <%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head id="Head1" runat="server"> |
| </head> |
| <body class="BODY"> |
| <form runat="server" id="mainForm" method="post"> |
| <telerik:RadScriptManager runat="server" ID="ScriptManager1"> |
| </telerik:RadScriptManager> |
| <!-- content start --> |
| <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="RadGrid1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManager> |
| <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" /> |
| <telerik:RadGrid ID="RadGrid1" OnPreRender="RadGrid1_PreRender" DataSourceID="SqlDataSource1" |
| runat="server" AutoGenerateColumns="False" AllowSorting="True" AllowMultiRowSelection="False" |
| AllowPaging="True" PageSize="5" GridLines="None" ShowGroupPanel="true"> |
| <PagerStyle Mode="NumericPages"></PagerStyle> |
| <MasterTableView DataSourceID="SqlDataSource1" DataKeyNames="EmployeeID" AllowMultiColumnSorting="True" |
| GroupLoadMode="Server"> |
| <NestedViewTemplate> |
| <asp:Label ID="label1" runat="server" Text='<%# Eval ("EmployeeID") %>'></asp:Label> |
| <asp:Label ID="label2" runat="server" Text='<%# Eval ("LastName") %>'></asp:Label> |
| <asp:Panel runat="server" ID="InnerContainer" CssClass="viewWrap" Visible="false"> |
| <telerik:RadGrid runat="server" ID="OrdersGrid" DataSourceID="ObjectDataSource1" OnItemDataBound="onitemdatabound" |
| OnItemCommand="onitemnested_command" ShowFooter="true" AllowSorting="true" EnableLinqExpressions="false"> |
| <MasterTableView ShowHeader="true" AutoGenerateColumns="true" AllowPaging="true" |
| DataKeyNames="OrderID" PageSize="7" HierarchyLoadMode="ServerOnDemand"> |
| <Columns> |
| <telerik:GridEditCommandColumn> |
| </telerik:GridEditCommandColumn> |
| </Columns> |
| <EditFormSettings EditFormType="Template"> |
| <FormTemplate> |
| <asp:Button ID="btninsert" runat="server" CommandName="PerformInsert" Text="go" /> |
| </FormTemplate> |
| </EditFormSettings> |
| </MasterTableView> |
| </telerik:RadGrid> |
| <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetEmployeeid" |
| TypeName="EmployeesODS"> |
| <SelectParameters> |
| <asp:ControlParameter ControlID="Label1" Name="empid" PropertyName="Text" |
| Type="String" /> |
| </SelectParameters> |
| </asp:ObjectDataSource> |
| <asp:SqlDataSource ID="SqlDataSource3" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" |
| ProviderName="System.Data.SqlClient" SelectCommand="SELECT OrderID, [Order Details].UnitPrice, Quantity, Discount, Products.ProductName FROM ([Order Details] LEFT JOIN Products on [Order Details].ProductID = Products.ProductID) where OrderID = @OrderID" |
| runat="server"> |
| <SelectParameters> |
| <asp:SessionParameter Name="OrderID" SessionField="OrderID" Type="Int32" /> |
| </SelectParameters> |
| </asp:SqlDataSource> |
| </asp:Panel> |
| </NestedViewTemplate> |
| <Columns> |
| <telerik:GridBoundColumn SortExpression="FirstName" HeaderText="First Name" HeaderButtonType="TextButton" |
| DataField="FirstName" UniqueName="FirstName"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn SortExpression="LastName" HeaderText="Last Name" HeaderButtonType="TextButton" |
| DataField="LastName" UniqueName="LastName"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn SortExpression="Title" HeaderText="Title" HeaderButtonType="TextButton" |
| DataField="Title" UniqueName="Title"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn SortExpression="BirthDate" DataFormatString="{0:MM/dd/yyyy}" |
| HeaderText="Birth Date" HeaderButtonType="TextButton" DataField="BirthDate" UniqueName="BirthDate"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn SortExpression="City" HeaderText="City" HeaderButtonType="TextButton" |
| DataField="City" UniqueName="City"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn SortExpression="Country" HeaderText="Country" HeaderButtonType="TextButton" |
| DataField="Country" UniqueName="Country"> |
| </telerik:GridBoundColumn> |
| </Columns> |
| </MasterTableView> |
| <ClientSettings AllowDragToGroup="true" /> |
| </telerik:RadGrid> |
| <asp:SqlDataSource ID="SqlDataSource1" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" |
| ProviderName="System.Data.SqlClient" SelectCommand="SELECT * FROM Employees" |
| runat="server"></asp:SqlDataSource> |
| <!-- content end --> |
| </form> |
| </body> |
| </html> |
| Imports Telerik.Web.UI |
| Imports System |
| Imports System.Data |
| Imports System.Data.SqlClient |
| Imports System.Web.UI.WebControls |
| Imports System.Configuration |
| Partial Class NestedNew |
| Inherits System.Web.UI.Page |
| Protected Sub RadGrid1_PreRender(ByVal sender As Object, ByVal e As EventArgs) Handles RadGrid1.PreRender |
| If Not Page.IsPostBack Then |
| RadGrid1.MasterTableView.Items(0).Expanded = True |
| RadGrid1.MasterTableView.Items(0).ChildItem.FindControl("InnerContainer").Visible = True |
| End If |
| End Sub |
| Protected Sub RadGrid1_ItemCommand(ByVal source As Object, ByVal e As GridCommandEventArgs) Handles RadGrid1.ItemCommand |
| If e.CommandName = RadGrid.ExpandCollapseCommandName Then |
| Session("EmployeeName") = DirectCast(source, Telerik.Web.UI.RadGrid).MasterTableView.Items(e.Item.ItemIndex)("LastName").Text |
| DirectCast(e.Item, GridDataItem).ChildItem.FindControl("InnerContainer").Visible = Not e.Item.Expanded |
| End If |
| End Sub |
| Protected Sub RadGrid1_ItemCreated(ByVal sender As Object, ByVal e As GridItemEventArgs) Handles RadGrid1.ItemCreated |
| If TypeOf e.Item Is GridNestedViewItem Then |
| e.Item.FindControl("InnerContainer").Visible = (DirectCast(e.Item, GridNestedViewItem)).ParentItem.Expanded |
| End If |
| End Sub |
| Public Shared Function GetDataTable(ByVal query As String) As DataTable |
| Dim ConnString As String = ConfigurationManager.ConnectionStrings("NorthwindConnectionString").ConnectionString |
| Dim conn As SqlConnection = New SqlConnection(ConnString) |
| Dim adapter As SqlDataAdapter = New SqlDataAdapter |
| adapter.SelectCommand = New SqlCommand(query, conn) |
| Dim table1 As New DataTable |
| conn.Open() |
| Try |
| adapter.Fill(table1) |
| Finally |
| conn.Close() |
| End Try |
| Return table1 |
| End Function |
| Protected Sub onitemnested_command(ByVal source As Object, ByVal e As GridCommandEventArgs) |
| If e.CommandName = RadGrid1.PerformInsertCommandName Then |
| 'write the employeeid |
| 'Response.Write(label1.text) |
| End If |
| End Sub |
| Protected Sub onitemdatabound(ByVal sender As Object, ByVal e As GridItemEventArgs) |
| If e.Item.ItemType = GridItemType.Header And Not Session("EmployeeName") Is Nothing Then |
| Dim hd As GridHeaderItem = e.Item |
| hd("OrderID").Text = " the orders for " + Session("EmployeeName").ToString() |
| End If |
| End Sub |
| End Class |
| Imports Microsoft.VisualBasic |
| Imports Telerik.Web.UI |
| Imports System |
| Imports System.Data |
| Imports System.Data.SqlClient |
| Imports System.Web.UI.WebControls |
| Imports System.Configuration |
| Public Class EmployeesODS |
| Public Shared Function GetEmployeeid(ByVal empid As String) As ArrayList |
| Dim arr As New ArrayList |
| For Each dr As DataRow In GetDataTable("Select * from orders where employeeid='" + empid + "'").Rows |
| Dim emp As New Employee |
| emp.EmployeeID = dr("EmployeeID") |
| emp.OrderId = dr("OrderID") |
| arr.Add(emp) |
| Next |
| Return arr |
| End Function |
| Public Shared Function GetDataTable(ByVal query As String) As DataTable |
| Dim ConnString As String = ConfigurationManager.ConnectionStrings("NorthwindConnectionString").ConnectionString |
| Dim conn As SqlConnection = New SqlConnection(ConnString) |
| Dim adapter As SqlDataAdapter = New SqlDataAdapter |
| adapter.SelectCommand = New SqlCommand(query, conn) |
| Dim table1 As New DataTable |
| conn.Open() |
| Try |
| adapter.Fill(table1) |
| Finally |
| conn.Close() |
| End Try |
| Return table1 |
| End Function |
| End Class |
| Public Class Employee |
| Private _OrderId As String |
| Private _CompanyName As String |
| Private _EmployeeID As String |
| Public Property CompanyName() As String |
| Get |
| Return _CompanyName |
| End Get |
| Set(ByVal value As String) |
| _CompanyName = value |
| End Set |
| End Property |
| Public Property EmployeeID() As String |
| Get |
| Return _EmployeeID |
| End Get |
| Set(ByVal value As String) |
| _EmployeeID = value |
| End Set |
| End Property |
| Public Property OrderId() As String |
| Get |
| Return _OrderId |
| End Get |
| Set(ByVal value As String) |
| _OrderId = value |
| End Set |
| End Property |
| End Class |
| <asp:EntityDataSource ID="ordersDS" runat="server" ConnectionString="name=oscEnties" |
| DefaultContainerName="oscEnties" EnableDelete="False" EnableInsert="True" EnableUpdate="True" |
| EntitySetName="i_orders" Include="orderparts"> |
| </asp:EntityDataSource> |
| <asp:EntityDataSource ID="orderpartDS" runat="server" ConnectionString="name=oscEnties" |
| DefaultContainerName="oscEnties" EnableDelete="false" EnableInsert="True" EnableUpdate="True" |
| EntitySetName="i_orderpart" Where="it.order.orderid==@orderid"> |
| <InsertParameters> |
| <asp:Parameter Name="order.orderid" Type="Int32" /> |
| </InsertParameters> |
| </asp:EntityDataSource> |
| <telerik:RadGrid ID="ordersGrid" runat="server" ShowGroupPanel="True" GridLines="None" |
| OnItemCommand="ordersGrid_ItemCommand" AllowAutomaticInserts="True" DataSourceID="ordersDS" |
| AllowFilteringByColumn="True" AllowAutomaticUpdates="true" AllowSorting="True" |
| AutoGenerateColumns="False"> |
| <HeaderContextMenu> |
| <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> |
| </HeaderContextMenu> |
| <ClientSettings AllowKeyboardNavigation="true" EnablePostBackOnRowClick="true"> |
| <Selecting AllowRowSelect="true" /> |
| </ClientSettings> |
| <MasterTableView GroupLoadMode="client" AutoGenerateColumns="False" DataKeyNames="orderid" |
| CommandItemDisplay="Top"> |
| <DetailTables> |
| <telerik:GridTableView DataSourceID="orderpartDS" DataKeyNames="orderpartid" AutoGenerateColumns="false" |
| AllowAutomaticUpdates="true" AllowAutomaticInserts="true" CommandItemDisplay="Top" |
| AllowFilteringByColumn="false"> |
| <ParentTableRelation> |
| <telerik:GridRelationFields DetailKeyField="orderid" MasterKeyField="orderid" /> |
| </ParentTableRelation> |
| <NoRecordsTemplate> |
| Hittade inga orderdelar |
| </NoRecordsTemplate> |
| <Columns> |
| <telerik:GridBoundColumn DataField="orderpartid" DataType="System.Int32" HeaderText="ID" |
| ReadOnly="True" SortExpression="orderpartid" UniqueName="orderpartid"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="ordername" HeaderText="Namn" SortExpression="ordername" DataType="System.String" |
| UniqueName="ordername"> |
| </telerik:GridBoundColumn> |
| <telerik:GridDateTimeColumn DataField="orderdate" DataType="System.DateTime" DataFormatString="{0:d}" |
| HeaderText="Ankommande" UniqueName="orderdate" SortExpression="orderdate"> |
| </telerik:GridDateTimeColumn> |
| <telerik:GridDateTimeColumn DataField="shippingdate" DataType="System.DateTime" DataFormatString="{0:d}" |
| HeaderText="Ankommande" UniqueName="shippingdate" SortExpression="shippingdate"> |
| </telerik:GridDateTimeColumn> |
| <telerik:GridDateTimeColumn DataField="arrivaldate" DataType="System.DateTime" DataFormatString="{0:d}" |
| HeaderText="Ankommande" UniqueName="arrivaldate" SortExpression="arrivaldate"> |
| </telerik:GridDateTimeColumn> |
| <telerik:GridNumericColumn DataField="currency" DataType="System.Double" HeaderText="Växelkurs" |
| UniqueName="currency" SortExpression="currency" NumericType="Number" KeepNotRoundedValue="true"> |
| </telerik:GridNumericColumn> |
| <telerik:GridNumericColumn DataField="freightcost" DataType="System.Double" HeaderText="Fraktkostnad" |
| UniqueName="freightcost" SortExpression="freightcost" NumericType="Number" KeepNotRoundedValue="true"> |
| </telerik:GridNumericColumn> |
| <telerik:GridNumericColumn DataField="order.orderid" DataType="System.Int32" HeaderText="OrderId" |
| UniqueName="order.orderid" SortExpression="order.orderid" Visible="true" ReadOnly="false"> |
| </telerik:GridNumericColumn> |
| <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn"> |
| <ItemStyle CssClass="MyImageButton" /> |
| </telerik:GridEditCommandColumn> |
| </Columns> |
| <EditFormSettings ColumnNumber="2" CaptionFormatString="Ändra orderdel"> |
| <FormTableItemStyle Wrap="False"></FormTableItemStyle> |
| <FormCaptionStyle CssClass="EditFormHeader"></FormCaptionStyle> |
| <FormMainTableStyle GridLines="None" CellSpacing="0" CellPadding="1" BackColor="White" |
| Width="100%" /> |
| <FormTableStyle CellSpacing="0" CellPadding="2" Height="60px" BackColor="White" /> |
| <FormTableAlternatingItemStyle Wrap="False"></FormTableAlternatingItemStyle> |
| <EditColumn ButtonType="ImageButton" InsertText="Lägg till" UpdateText="Uppdatera" |
| UniqueName="EditCommandColumn1" CancelText="Avbryt"> |
| </EditColumn> |
| </EditFormSettings> |
| </telerik:GridTableView> |
| </DetailTables> |
| <NoRecordsTemplate> |
| Hittade inga ordrar |
| </NoRecordsTemplate> |
| <Columns> |
| <telerik:GridBoundColumn DataField="orderid" DataType="System.Int32" HeaderText="ID" |
| ReadOnly="True" SortExpression="orderid" UniqueName="orderid"> |
| </telerik:GridBoundColumn> |
| <telerik:GridCheckBoxColumn DataField="open" DataType="System.SByte" HeaderText="Öppen för best." |
| SortExpression="open" UniqueName="open"> |
| </telerik:GridCheckBoxColumn> |
| <telerik:GridBoundColumn DataField="ordername" HeaderText="Namn" SortExpression="ordername" |
| UniqueName="ordername"> |
| </telerik:GridBoundColumn> |
| <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn"> |
| <ItemStyle CssClass="MyImageButton" /> |
| </telerik:GridEditCommandColumn> |
| </Columns> |
| <EditFormSettings ColumnNumber="2" CaptionDataField="ordername" CaptionFormatString="Ändra på order: {0}"> |
| <FormTableItemStyle Wrap="False"></FormTableItemStyle> |
| <FormCaptionStyle CssClass="EditFormHeader"></FormCaptionStyle> |
| <FormMainTableStyle GridLines="None" CellSpacing="0" CellPadding="1" BackColor="White" |
| Width="100%" /> |
| <FormTableStyle CellSpacing="0" CellPadding="2" Height="60px" BackColor="White" /> |
| <FormTableAlternatingItemStyle Wrap="False"></FormTableAlternatingItemStyle> |
| <EditColumn ButtonType="ImageButton" InsertText="Lägg till" UpdateText="Uppdatera" |
| UniqueName="EditCommandColumn1" CancelText="Avbryt"> |
| </EditColumn> |
| </EditFormSettings> |
| </MasterTableView> |
| <ClientSettings AllowDragToGroup="True"> |
| </ClientSettings> |
| <FilterMenu> |
| <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> |
| </FilterMenu> |
| </telerik:RadGrid> |
| public partial class Orders : System.Web.UI.Page |
| { |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| if (!IsPostBack) |
| orderpartDS.WhereParameters.Add(new SessionParameter() { Name = "orderid", SessionField = "orderid", Type = TypeCode.Int32 }); |
| } |
| protected void ordersGrid_ItemCommand(object source, Telerik.Web.UI.GridCommandEventArgs e) |
| { |
| if (e.CommandName == RadGrid.PerformInsertCommandName) |
| { |
| if (e.Item.OwnerTableView.DataSourceID == "orderpartDS") |
| { |
| GridDataItem parentItem = (GridDataItem)(e.Item.OwnerTableView.ParentItem); |
| if (parentItem != null) |
| { |
| string orderId = parentItem.OwnerTableView.DataKeyValues[parentItem.ItemIndex]["orderid"].ToString(); |
| orderpartDS.InsertParameters["order.orderid"].DefaultValue = orderId; |
| } |
| } |
| } |
| } |
| } |
| <telerik:radtreeview id="clientTree" runat="server" skin="Vista" width="100%" showlineimages="true" height="300px" maxdatabinddepth="2"> |
| <databindings> |
| <telerik:radtreenodebinding textfield="ClientName" valuefield="ClientID" /> |
| </databindings> |
| </telerik:radtreeview> |
| ClientTree.DataFieldID = "ClientID"; |
| ClientTree.DataFieldParentID = "ParentID"; |
| ClientTree.DataValueField = "ClientID"; |
| ClientTree.DataTextField = "ClientName"; |
| ClientTree.DataSource = parsed (the List<ClientData>) |
| ClientTree.DataBind(); |
Pleas