2011-06-07 10 views
0

私は、フォーマット、私はGridViewの上でそれを表示する必要が最善の方法は、

Filename Status 
abc.txt  Found 
xyz.txt  Not Found 

のデータを持っています。

  • どのようにこれらの値を保持しますか?
  • 多次元配列やその他のコレクションを使用する必要がありますか?
  • どれが最適でしょうか?
+0

を?あなたはファイルシステムを読んでいるのですか、それともデータベースから取得していますか、それとも他の場所から取得していますか? – DOK

+1

辞書はどうですか?ファイル名が鍵になる可能性があります。 – Reniuz

+0

申し訳ありませんが、私はそれを言及することを忘れて..ファイルがSystem.IO.File.Existsを使用しているかどうかを確認しています。ファイル名は.csvファイルから来て、そのファイル名が見つかった場合はそのファイル名を検索しますelse Notfound – Prady

答えて

4

コレクションが最適です。フィールドを次のように配置できるFileクラスを作成します。

class File 
{ 
    private string _fileName; 

    public string fileName{ 
     get { return _fileName;} 
      set { _fileName= value;} 
    } 

     private string _status; 

    public string status{ 
     get { return _status;} 
     set { _status= value;} 
    } 
} 

次に、すべてのインスタンスをリストに追加します。

/* Create Instances */ 
    GridView grid = new GridView(); 
    List<File> files = new List<File>(); 

    /* create and fill File instance */ 
    File f = new File(); 
    f.status = "WhatEverString"; 
    f.fileName = "WhatEverString"; 

    /* Add file instance to the list*/ 
    files.add(f); 

    /* Bind data to GridView*/ 
    grid.DataSource = Files; 
    grid.DataBind(); 

今、私たちは唯一のASP側でその場所にすべてのフィールドを参照する必要があり、スタックオーバーフローの質問How to bind a List to a gridview?は役立つはずです。

+0

値を追加するにはどうすればよいですか? – Prady

+0

リストを作成するリスト fileList =新しいリスト();.次に、ファイルnewEntry = new File(){fileName = "abc.txt"、status = "Found"};リストに追加:fileList.Add(newEntry); – Reniuz

0

あなたは、ファイル名が一意であることを確認していない場合IndigoDeltaが述べたように、あなたは辞書を使用できますが、キーが既に新しいエントリを追加する前に存在するかどうかを確認:データから来ている

Dictionary<string, string> files = new Dictionary<string,string>(); 
string status = "Not Found"; 
if (File.Exists("abc.txt")) 
    status = "Found"; 

//Check if key exists 
if (files.ContainsKey("abc.txt")) 
    files.Add("abc.txt", status); 
else 
    files["abc.txt"] = status;