私は、フォーマット、私はGridViewの上でそれを表示する必要が最善の方法は、
Filename Status
abc.txt Found
xyz.txt Not Found
のデータを持っています。
- どのようにこれらの値を保持しますか?
- 多次元配列やその他のコレクションを使用する必要がありますか?
- どれが最適でしょうか?
私は、フォーマット、私はGridViewの上でそれを表示する必要が最善の方法は、
Filename Status
abc.txt Found
xyz.txt Not Found
のデータを持っています。
コレクションが最適です。フィールドを次のように配置できる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?は役立つはずです。
DictionaryまたはKeyValuePairのアレイ/リストが機能します。
あなたは、ファイル名が一意であることを確認していない場合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;
を?あなたはファイルシステムを読んでいるのですか、それともデータベースから取得していますか、それとも他の場所から取得していますか? – DOK
辞書はどうですか?ファイル名が鍵になる可能性があります。 – Reniuz
申し訳ありませんが、私はそれを言及することを忘れて..ファイルがSystem.IO.File.Existsを使用しているかどうかを確認しています。ファイル名は.csvファイルから来て、そのファイル名が見つかった場合はそのファイル名を検索しますelse Notfound – Prady