首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RadHtmlChart - Telerik ASP.NET HtmlChart缩放器无法通过MouseWheel工作

RadHtmlChart - Telerik ASP.NET HtmlChart缩放器无法通过MouseWheel工作
EN

Stack Overflow用户
提问于 2016-06-09 10:09:47
回答 2查看 793关注 0票数 0

我正在使用RadHtmlChart控件开发一个Telerik

基本上,缩放能力工作,直到我应用了一个造型修复x轴,确保标签保持固定在底部,不会进入图表和叠加图在图表上。

我正在使用的样式修复方法是,我希望将x轴线保持在0,并将值保持在图表以下。此功能请求已由Telerik反馈门户:http://feedback.telerik.com/Project/108/Feedback/Details/54923-add-top-and-bottom-positions-for-axes-axes-labels-in-radhtmlchart记录在案。

这是因为一些图表被x轴标签覆盖:

Telerik围绕建议:调用ClientEvents OnLoad事件

代码语言:javascript
运行
复制
<script>
 function BottomXAxisLabels() {
     var chart = $find("<%=LinearityChart.ClientID%>").get_kendoWidget();
     var axis = $telerik.$.extend(true, {}, chart.options.xAxis);
     axis.line.visible = false;
     chart.setOptions({ xAxis: [{ labels: { visible: false }}, axis] });
     chart.options.yAxis.axisCrossingValues = [0, -99999999999];
     chart.redraw();
 }

RadHtmlChart是Kendo图表的ASP.NET包装器。这意味着您可以利用一些服务器端功能,但也可以使用Kendo图表的所有客户端功能--我就是这样编辑x轴的。

海图代码:

代码语言:javascript
运行
复制
<telerik:RadHtmlChart runat="server" ID="LinearityChart" Width="100%" Height="100%" CssClass="LinearityDiv pageBreak" ViewStateMode="Disabled">
   <ClientEvents OnLoad="chartLoad" />
   <Pan Enabled="true" />
   <Zoom Enabled="true">
       <MouseWheel Enabled="true" />
       <Selection Enabled="true" ModifierKey="Shift" />
   </Zoom>

海图面积

代码语言:javascript
运行
复制
<PlotArea>
        <Appearance>
            <FillStyle BackgroundColor="Transparent"></FillStyle>
        </Appearance>

        <XAxis Color="Black" MajorTickType="Outside" MinorTickType="None" Reversed="false">
            <MinorGridLines Visible="false" />
            <TitleAppearance Text="<%$ Resources:Charting, BiasXAxisTitle %>" />
        </XAxis>

        <YAxis Color="Black" MajorTickType="Outside" Reversed="false">
            <MinorGridLines Visible="false" />
            <LabelsAppearance DataFormatString="{0}%" />
            <TitleAppearance Text="<%$ Resources:Charting, BiasYAxisTitle %>" />
        </YAxis>
        <Series>
            <telerik:ScatterSeries Name="<%$ Resources:Charting, BiasSExpRec %>">
                <Appearance FillStyle-BackgroundColor="SeaGreen" />
                <TooltipsAppearance DataFormatString="{0}, {1}%" />
                <LabelsAppearance Visible="false" />
            </telerik:ScatterSeries>
            <telerik:ScatterSeries Name="<%$ Resources:Charting, BiasSPeerRec %>" Visible="false">
                <Appearance FillStyle-BackgroundColor="DeepSkyBlue" />
                <TooltipsAppearance DataFormatString="{0}, {1}%" />
                <LabelsAppearance Visible="false" />
            </telerik:ScatterSeries>
            <telerik:ScatterSeries Name="<%$ Resources:Charting, BiasSExpPeer %>" Visible="false">
                <Appearance FillStyle-BackgroundColor="Orange" />
                <TooltipsAppearance DataFormatString="{0}, {1}%" />
                <LabelsAppearance Visible="false" />
            </telerik:ScatterSeries>
        </Series>
</PlotArea>

JavaScript OnChart负载调用

代码语言:javascript
运行
复制
function ChartLoad(sender, args) {
                    if (typeof chart1 == "undefined") {
                        chart1 = sender.get_kendoWidget();

                        var chart = $find("<%=LinearityChart.ClientID%>").get_kendoWidget();
                        var axis = $telerik.$.extend(true, {}, chart.options.xAxis);
                        axis.line.visible = false;
                        chart.setOptions({
                            xAxis:
                                [{
                                    majorTicks: { size: 0, color: "black", width: 0 },
                                    labels: { visible: false },
                                    line: { width: 1, color: "black" }
                                }, axis]
                        });
                        chart.options.yAxis.axisCrossingValues = [0, -99999999999];
                        chart.redraw();

 }

当我尝试使用缩放时,我会得到这个JavaScript错误:

代码语言:javascript
运行
复制
uncaught TypeError: ***'Cannot set property 'min' of undefined'***

Location

代码语言:javascript
运行
复制
ScriptResource.axd?d=WLmYcdOKb_LAUnVSHQHR_kB0hnE6StN3zr4wDRAuaXXTTm9SzIhvtoUXojqb1ZfsdSXLkneHGz4NiY5j6kVC8VaaTvGQ5mMSTqwnSkMTPNGJrAEoFl8D6RiyP_SwihtPCpHzwlN9-Gqda-jtSvQFnQ2&t=ffffffffcf2f22b2

任何帮助将不胜感激,以帮助修复缩放能力。

EN

回答 2

Stack Overflow用户

发布于 2016-06-14 12:37:05

尝试使用带有标记的JS设置您调整的属性。我怀疑setOptions调用中可能出现了一些问题(这些属性之一在小部件初始化后可能无法动态设置)。

下面是一个示例:

代码语言:javascript
运行
复制
                <XAxis Width="1" Color="Black" MajorTickType="None" MajorTickSize="0">
                    <LabelsAppearance Visible="false"></LabelsAppearance>
                </XAxis>
                <YAxis AxisCrossingValue="-99999999999"></YAxis>

或者,尝试删除一些动态设置,以查看哪一个破坏了代码。

票数 0
EN

Stack Overflow用户

发布于 2016-06-16 15:32:02

一个类似的问题已经记录在Telerik反馈门户这里- http://feedback.telerik.com/Project/108/Feedback/Details/181171

Q1 2016 SP1版本已经解决了这个问题,因此您可以尝试升级到最新版本。

我还做了一个测试,用这个反馈门户(feedback.telerik.com/Project/108/Feedback/Details/54923)中的可运行示例来重现这个问题,但是一切都在我这一边正常工作。您可以在这里观看视频测试- http://screencast.com/t/VXKFseenlSN5

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37722972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档