Как добавить пользовательский столбец без DataTable в мой DataView в приложении winforms ADO.net? - PullRequest
0 голосов
/ 18 января 2010

Как я мог (/ возможно ли) добавить пользовательский столбец в мой DataView, и в этом столбце отобразить результат определенного вычисления.

То есть у меня в настоящее время есть dataGridView, который имеет привязку к DataView на основе DataTable из моей базы данных. Я хотел бы добавить дополнительный столбец в dataGridView, чтобы отобразить число, которое рассчитывается, глядя на эту текущую строку плюс ее дочернюю строку. Другими словами, информация для столбца не просто выводится из самих данных строки.

Конкретные вопросы могут быть: а) куда добавить саму колонку? к DataView я предполагаю? б) из какого метода / события инициируется пересчет значения этого пользовательского столбца (/ как мне управлять этим)

Спасибо

PS. Я также отметил, что если я использую следующий код / ​​подход, я получаю бесконечный цикл ...

    // Custom Items
    DataColumn dc = new DataColumn("OverallSize", typeof(long));
    DT_Webfiles.Columns.Add(dc);
    DT_Webfiles.RowChanged += new DataRowChangeEventHandler(DT_Row_Changed);

private static void DT_Row_Changed(object sender, DataRowChangeEventArgs e)
{
    e.Row["OverallSize"] = e.Row["OverallSize"] ?? 0;
    e.Row["OverallSize"] = (long)e.Row["OverallSize"] + 1;
}

Какой другой подход мог бы избежать этого зацикливания. то есть в настоящее время я говорю обновить значение настраиваемого столбца при изменении строки, однако после изменения строки запускается событие «строка изменилась» ...

1 Ответ

0 голосов
/ 18 января 2010

Я думаю, что эта ссылка может быть хорошим ответом? Хотя я пока не уверен, сможет ли свойство DataColumn.Expression справиться с ним еще ... (т. Е. Делать SUM из всех Item.size для всех элементов, которые являются дочерними по отношению к текущему, на основе ITEM_TABLE < ==> Конструкция RELATIONSHIP_TABLE. Relationship_table имеет идентификатор, ITEM_PARENT_ID, ITEM_CHILD_ID.

http://ondotnet.com/pub/a/dotnet/2003/05/26/datacolumn_expressions.html

...