0

Silverlight 折れ線グラフに値を追加しようとしました。そのために、折れ線グラフを作成し、wcf ria サービスを使用してそのグラフのデータを追加しています。

すべて正常に動作しますが、ウェブサイトを実行しようとすると、チャートにダミー データが読み込まれます。私のWindows azure SQLテーブルにはそのようなデータはありません。Azure SQL テーブルにアクセスして正常に動作しますが、データベースの値が同じではありません。

Azure アプリからのデータベースへのアクセスを表示するために、ado.net エンティティ モデルを使用して waterinfodomainを作成し、このコードと同様の他の折れ線グラフを使用しました。

私が使用した:

    private GetTemprature()
            {
                //shows and gives garden uses from sql table
                context = new WaterDomainContext();
                context.FarmTemps.Clear();
                var query = context.GetFarmTempsQuery();
                LoadTemp = context.Load<FarmTemp>(query);
                LoadTemp.Completed += new EventHandler(LoadTemp_Completed);
            }

            private void LoadTemp_Completed(object sender, EventArgs e)
            {
                //Draw values from a table for Performance
                List<Temprature> tmp = new List<Temprature>();
                if (LoadTemp.Entities != null || LoadTemp.Entities.Count() > 0)
                {
                    foreach (FarmTemp item in LoadTemp.Entities)
                    {
                        tmp.Add(new Temprature()
                        {
                            Temp = (float)(item.Temp),
                            Date = Convert.ToDateTime(item.ODate)
                        });
                    }
                }
                LineSeries tmpv = FarmCondtion.Series[0] as LineSeries;
                tmpv.ItemsSource = tmp;

            }

私はここで取得しているグラフのこのスナップショットを追加しました: http://i.imgur.com/bZkxZ.png

これで、日付が規則的な順序になっていないことがわかります [また、これらは私のデータベースにある日付ではありません]。線の代わりにドットのみが表示されます。しかし、私のデータベースには、過去 7 日間の日付とその他の値の通常の値しかありません。

なぜこれが起こっているのか

教えてください

ありがとう

4

2 に答える 2

0

同じデータが 1 つのグラフでは正常に機能するが、別のグラフでは機能しないとおっしゃいました。2 つのグラフに違いはありますか? データベースとチャートの両方でデータが正常であることを確認したので、問題はクライアント側にあると思います。したがって、ここではクライアント側に注目して、チャートのデータ ソースの構成方法を確認してください。ちなみに、スクリーンショットからわかる限り、日付は順不同です。2011 年 11 月 1 日から始まり、2011 年 12 月 1 日、2012 年 1 月 1 日、2012 年 10 月 1 日まで続きます。グラフは少し小さいので、ラベルは 2 行で表示されます。1行目を読んでから2行目を読まないでください。代わりに、左から右に 2 つの行を一緒に読んでください。何かのようなもの:

1   3   5
  2    4   6

日付が将来であってはならないことを意味する場合は、日付を変更する可能性のあるコードがあるかどうかを確認してください。

よろしくお願いします、

明徐。

于 2012-04-23T09:25:06.040 に答える
0

私の最初の賭けは、問題がConvert.ToDateTimeメソッドにあるということです。item.ODateは DateTime に変換する文字列だと思います。

正しいカルチャを渡して DateTime に変換する方が安全です。たとえば、10/1/2012 は、en-US と nl-BE では同じではありません。そのため、文字列の変換元のカルチャを常に指定することが重要です (参照: http://msdn.microsoft.com/en-us/library/9xk1h71t.aspx )。

一方、今。日付が正しい順序で表示されることを期待しているのはなぜですか? 日付に基づいてアイテムを並べ替えるコードはありません。バックエンドでこれを行っていますか?

于 2012-04-21T14:14:57.640 に答える