2011-07-15 7 views
0

Silverlightアプリケーションを実行中です。言語はC#であり、Webサービス参照からデータを正常に取得し、グリッド表示のmainpage.xamlに表示できます。 。しかし、配列/ arraylistとして私のデータを格納するための方法はありませんので、グリッドビューにすべての列データを表示するのではなく、ただ1列のデータだけを表示したいだけです。これについて私を助けることができる専門家?以下は私の現在の基本コードですWebサービス参照から取得したデータを配列/アーラリストとして格納する

答えて

1

あなたは、WCFサービスを使用している場合は、戻り値の型を変更する機能を持っています。

「サービスの追加」で、下部にある「詳細設定」ボタンをクリックします。 新しいモーダルダイアログボックスで "サービス参照設定"が開き、Arraylist/Array/Listとして "Collection Type"を選択できます。

あなたがウェブメソッドからリストを返すたび今、あなたはあなたが「コレクション型」で選択したものを受け取ることになります。(これは、(.asmxファイル)

WCF Webサービス(.SVC)でのみ利用可能であり、ではありませんそれができない場合は、あなただけの質問は非常に明確ではないので

var list = new List<string>{"1","2"} 
string[] arrayVal =" list.ToArray(); 

。配列にリストを変更することができますし、あなただけのあなただけの1つの列のデータを返すことができ、グリッド内の1つの列を表示したいと言いますウェブメソッドから戻るときは

[OperationContract] 
public List<location> Getlocations() 
{ 
    var db = new DataClassesDBDataContext(); 

    var mlocations = (from x in db.locations 
        select new location 
        { 
         locationColName = x.something 
        }).ToList(); 
    return mlocations; 
} 
+0

こんにちは、はい私はデータの列を表示したいだけで、列名は "緯度"です。私はデータベースから値をとるだろうコンバータを持っているが、私はそれが値の列を取るようにしたいので、私は配列として格納し、コンバータに選択したいと思った。私はあなたのコードを疲れているが、それは私にこのエラーを与えている "エラー2Cannot暗黙的に 'System.Collections.Generic.IEnumerable 'にタイプ 'System.Linq.IQueryable 'に変換します。 "どのようにこれを解決するためのアイデア? – epicsoul

+0

とは何ですか、私はlocationColName = x.something、sometingは何を表しているのでしょうか? – epicsoul

+0

何かはdb.locationsから来るデータベース列を表します。位置に緯度の列が含まれていて、それが小数点以下の場合、位置クラスにはlatitudeという小数点以下のプロパティが含まれ、正常に動作するはずです。何かが小数で、locationColNameが文字列です。 –

0

リストに使用されているToArray()メソッドは、このトリックを行う必要があります。簡単な一般的な例を次に示します。

List<string> l = new List<string>(); 
l.Add("somedata"); 
. . . 
string[] s = l.ToArray(); 
関連する問題