Лучший способ отобразить данные в виде сетки в C # - PullRequest
0 голосов
/ 07 июня 2011

У меня есть данные в формате

Filename   Status
abc.txt     Found
xyz.txt     Not Found

Мне нужно отобразить его в виде сетки.

  • Как мне хранить эти значения?
  • Должен ли я использовать многомерный массив или другие коллекции?
  • Какой из них лучше всего подойдет?

Ответы [ 3 ]

4 голосов
/ 07 июня 2011

Коллекции лучше всего подходят. Создайте класс 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, вопрос переполнения стека Как связать List с сеткой? должно помочь.

2 голосов
/ 07 июня 2011

A Словарь или Массив / Список KeyValuePair будет работать.

0 голосов
/ 07 июня 2011

Если вы не уверены, что ваши имена файлов уникальны, вы можете использовать словарь, как упомянул 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;
...