Excel-подобные выражения в DataGridView - PullRequest
1 голос
/ 16 декабря 2008

В Excel я могу использовать выражение типа "= C16 + C17" для ячейки для отображения значений из других ячеек.

В моем приложении мне нужно нечто подобное. Пользователь должен иметь возможность выбрать диапазон ячеек в графе данных и отобразить сумму в другой ячейке (не в нижнем колонтитуле!). Поэтому мне нужна возможность присвоить что-то вроде «Возьмите значения из столбца xyz из записей, идентифицированных идентификаторами 7, 23, 42 и суммируйте их» в произвольной ячейке.

Кто-нибудь знает компонент, который предлагает такой "язык выражений"?

Ответы [ 2 ]

2 голосов
/ 16 декабря 2008

В DataGridView нет ничего, что могло бы помочь вам сделать это. Ваш вариант, очевидно, Custom Controls. Я уверен, что в Infragistics UltraGrid есть что-то подобное, но если вы не хотите тратить деньги, вы можете сделать это самостоятельно. Это может быть не так сложно. Вот простой способ сделать это.

Всегда связывайте свое представление данных в DataTable, а затем, когда вы хотите добавить выражение, вы добавляете новый DataColumn и устанавливаете свойство Expression. Вот некоторая информация о свойстве выражения DataColumn. Из MSDN

Мы сделали что-то похожее на это на работе, и на самом деле это работает довольно хорошо. Удачи!

1 голос
/ 17 декабря 2008

Я собираюсь перейти к этой статье CodeProject: " Реализация механизма формул, подобного Excel * ". У него есть синтаксический анализатор, оценка формул, и его довольно легко связать с сеткой данных.

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