вторник, 11 декабря 2012 г.

Имя столбца с пробелами, скобками и т.д. в DataTable.Compute()

В классе DataTable есть очень полезный метод:

public object Compute(string expression, string filter)
    Член System.Data.DataTable

Сводка:
Вычисляет заданное выражение для текущих строк, отвечающих условию фильтра.

Параметры:
expression: Вычисляемое выражение.
filter: Фильтр, ограничивающий число строк, используемых выражением.

Возвращает:
Класс System.Object, которому задан результат сравнения.

Сегодня столкнулся с проблемой при его вызове. Столбцы с "неправильными" с точки зрения рекомендаций именами, неверно обрабатываются в данном методе, например столбец с именем: "Сумма(CHF)" приводил к возникновению исключения. Тоже самое будет если в имени используется пробел, точка или запятая, для решения проблемы необходимо "неправильное" имя столбца в заключить в квадратные скобки.

decimal sum = 0;
if (myNewDataGridView1.DataSource != null)
  sum = (decimal)(DataTable)myNewDataGridView1.DataSource).Compute("Sum([Сумма(CHF)])", String.Empty);

     Я в своем проекте для задания Caption`а, который отображается пользователю, когда-то давно по молодости написал метод(в классе который работает с базой), и использовал для этого свойство ColumnName, теперь так и тянется... Теперь нужно будет выделить день для исправления этой ошибки во всех проектах, так как в разных участках кода идет обращение к столбцам таблицы по их именам. Для задания текста отображаемого пользователю в заголовке столбца dataGridView нужно использовать свойство Caption класса DataTable!
      Кстати еще один нюанс - столбец который содержит в свойстве ColumnName запятую - не сортируется в dataGridView(тоже было потрачено немало времени пока понял причину)!
Используйте свойство ColumnName с нестандартными именами только в исключительных ситуациях.

воскресенье, 2 декабря 2012 г.

Вздутые конденсаторы...

    Попросили на днях посмотреть компьютер, думал все по накатанной - установка, настройка винды... Оказалось комп стартует 1 раз из 10, остальные просто выключается не издавая даже "пука" из динамика... Внешний осмотр материнки показал, что вздуты конденсаторы возле процессора, вдавил их пальцами (понято что не решение)...

суббота, 17 ноября 2012 г.

Нагетсы "Легко" с сыром и проволокой!

     Поздно возвращались с любимой домой, и времени и желания готовить не было - было решено взять полуфабрикаты, выбор пал на нагетсы "Легко" с сыром...

воскресенье, 1 апреля 2012 г.

Мой новый железный друг...


     Так как NISSAN Y10 оказался неудачной заменой для 6ки, и был продан, спустя длительный месяц поисков нового авто, пересмотра различных предложений, с учетом опыта с Y10, остановил свой выбор на...