Тип DataTable привязки массива в cf.net - PullRequest
0 голосов
/ 23 августа 2010

Я хотел бы создать (очень легкий) двухстороннее связующее хранилище данных. Значения должны быть доступны через names . Я думал об использовании 2 массивов:

public class MyBindingDatastore{
    public string[] _names = new string[]{"Field1", "Field2", "Field3"}
    public object[] _values = new object[]{ DateTime.Now, "MyValue", 1}
}

Первый массив используется для хранения имен полей (всегда 1 строка). Второй массив (может быть также 2D, если более 1 записи) представляет матрицу значений. Используя GUI-виджет (Resco detailview или любой, который поддерживает двухстороннюю привязку данных), я хотел бы указать:

MyControl.DataMember = "Field1";
MyControl.DataSource = new MyBindingDatastore();

Результатом привязки данных должно быть правильно отображаемое значение из массива значений. После изменения значения внутри виджета GUI изменение должно произойти и в хранилище данных (массив значений).

Есть идеи, как это реализовать? Или лучше использовать более раздутый DataTable класс, чтобы имитировать привязку к датированным данным (я считаю, что DataTable имеет много накладных расходов на массив)?

1 Ответ

0 голосов
/ 23 августа 2010

Если вы хотите использовать DataBinding, вам, вероятно, следует придерживаться DataTable. В противном случае вам все равно придется реализовать свою собственную привязку данных. Если вас беспокоит размер памяти, поищите способы минимизировать объем данных, загружаемых в память за один раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...