簡體   English   中英

ShieldUI將不接受更新的屬性

[英]ShieldUI will not accept updated attributes

我有以下代碼:

protected void SetChartToItem(Item item)
    {
        ShieldChart1 = new ShieldChart();
        ShieldChart1.Width = Unit.Percentage(100);
        ShieldChart1.Height = Unit.Pixel(400);
        ShieldChart1.CssClass = "chart";
        ShieldChart1.PrimaryHeader.Text = item.name;
        ShieldChart1.TooltipSettings.AxisMarkers.Enabled = true;
        ShieldChart1.TooltipSettings.AxisMarkers.Mode = ChartXYMode.XY;
        ShieldChart1.TooltipSettings.AxisMarkers.Width = new Unit(1);
        ShieldChart1.TooltipSettings.AxisMarkers.ZIndex = 3;
        ChartAxisX axisX = new ChartAxisX();
        axisX.Title.Text = "Times";
        ShieldChart1.Axes.Add(axisX);
        ChartAxisY axisY = new ChartAxisY();
        axisY.Title.Text = "Prices";
        ShieldChart1.Axes.Add(axisY);
        ShieldChart1.Axes.SetDirty();
}

和以下代碼:

<shield:ShieldChart ID="ShieldChart1" Width="700px" Height="380px" runat="server" OnTakeDataSource="ShieldChart1_TakeDataSource" CssClass="chart">
        <PrimaryHeader Text="TestHeader"></PrimaryHeader>
        <ExportOptions AllowExportToImage="true" AllowPrint="false" />
        <Axes>
            <shield:ChartAxisX>
                <Title Text="Time"></Title>
            </shield:ChartAxisX>
            <shield:ChartAxisY>
                <Title Text="Price"></Title>
            </shield:ChartAxisY>
        </Axes>
        <DataSeries>
            <shield:ChartLineSeries DataFieldY="Volume" DataFieldX="Timer" CollectionAlias="Volume">
                <Settings EnablePointSelection="true">
                    <PointMark>
                        <ActiveSettings>
                            <PointSelectedState DrawWidth="4" DrawRadius="4" />
                        </ActiveSettings>
                    </PointMark>
                </Settings>
            </shield:ChartLineSeries>
            <shield:ChartLineSeries DataFieldY="Price" DataFieldX="Timer" CollectionAlias="Price">
                <Settings EnablePointSelection="true">
                    <PointMark>
                        <ActiveSettings>
                            <PointSelectedState DrawWidth="4" DrawRadius="4" />
                        </ActiveSettings>
                    </PointMark>
                </Settings>
            </shield:ChartLineSeries>
        </DataSeries>
    </shield:ShieldChart>

當我調用SetChartToItem時,當我逐步查看SetChartToItem時,它似乎可以工作,但是當頁面呈現時,實際的ShieldChart並沒有更改。 當我刪除ShieldChart1 = new ShieldChart();行時,可能會有更多幫助。 那么整個ShieldChart將會消失。

我相信有兩種方法可以解決這個問題。 如本示例所示,一種方法是重新創建圖表: https : //demos.shieldui.com/aspnet/rangebar-chart/related-charts您可以簽出asp.net選項卡。

另一種選擇是在承載圖表的嵌套面板中重新創建控件集合(並在此之前清除它)。 然后,在特定事件上,您可以重新創建圖表,清除容器的控件集合並添加新實例。

我花了3個月的時間,但我發現了問題所在。 我導致某些圖表在“ Page_Load”函數中自行構建。 解決方案是確保僅當該頁面是回發頁面時才完成所有工作,該頁面未包含在上面的代碼中,但為我解決了該問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM