2017-04-04 10 views
-1

ボタンクリックでasp Chartコントロールを使用して縦棒グラフを表示しました。それは働いている。今、私はいくつかのタイマーを設定すると、各列(アニメーションのような)を表示するには、タイマーを使用してページが読み込まれます。どのライブラリを使用しなくてもどのように可能ですか?アスパラチャートコントロールで縦棒グラフをアニメーション化する方法は?

<asp:Chart ID="Chart1" Visible="false" runat="server" 
    BackColor="DarkRed" BackImageAlignment="Center" 
     BackImageTransparentColor="MediumVioletRed" BackSecondaryColor="White" 
     BorderlineDashStyle="DashDotDot" Palette="Excel" Height="390px" 
     Width="800px"> 
     <Titles> 
    <asp:Title Font="Times New Roman, 12pt, style=Bold" Name="Title1" ForeColor="White" 
     Text="Sample Test"> 
    </asp:Title> 
</Titles> 
<Series> 
<asp:Series Name="Series1" XValueMember="month" YValueMembers="sales" ChartType="Column" 
CustomProperties="DrawingStyle=LightToDark, DrawSideBySide=True" Color="#800033" IsValueShownAsLabel="True" LabelForeColor="#800033"> 
</asp:Series> 
    </Series> 
    <ChartAreas> 
    <asp:ChartArea Name="ChartArea1" BorderColor="Transparent">    
    </asp:ChartArea> 
    </ChartAreas> 
    </asp:Chart> 


    public void BindDatatoChart1() 
{ 
    Chart1.Visible = true; 
    DataTable dt = new DataTable(); 
    using (SqlConnection cn = obj.getcon()) 
    { 
     string sql = "select * from sample1 order by id"; 
     using (SqlCommand cmd = new SqlCommand(sql, cn)) 
     { 
      using (SqlDataAdapter da = new SqlDataAdapter(cmd)) 
      { 
       da.Fill(dt); 
      } 

     } 
    } 
    System.Timers.Timer timer = new System.Timers.Timer(); 
    timer.Interval = 15; 
    timer.Start(); 
    Chart1.DataSource = dt; 
    Chart1.DataBind(); 
    } 

答えて

0

これは本当にASP.NETの質問ではありません。私はクライアント側から純粋にこれを検討するべきだと思います。純粋なCSSアニメーションを使用して、あなたが望むものを達成することができます。また、ASP.NETはサーバーサイドの技術であり、したがってあなたのためにアニメーションを処理しないため、おそらく必要になるでしょう。 cssキーフレームを使用すると、列の初期高さを0に設定し、指定した時間に100%に移行することができます。 this Stack Overflow questionを参照してください。

+0

良いアイデア。手伝ってくれますか? – user2431727

+0

これは、アニメーション化したい列にCSSセレクタが必要なことです。そのため、HTMLを完全に制御できないため、ASP.NET WebFormsは問題には適していません。グラフのマークアップを調べ、列を選択する方法を見つける必要があります。あなたがそれを行うことができれば、私が上にリンクした方法はあなたにそれを行う方法を示すべきです。 transform:scale(x、y)CSSプロパティを使用して高さをアニメーション化することができます。 –

関連する問題