Удаление строк из DataGridView с EditMode.EditOnEnter

По умолчанию редактирование в DataGridView весьма неинтуитивно, требует либо ввод чего-то либо нажатия F2 либо многократного кликания, но если мы переключимся на редактирование по клику, то столкнемся с совсем другой проблемой - невозможно выбрать всю строку, чтобы удалить ее из … Читать далее

OleDbDataAdapter, DataTable, пустая строка и ошибка Cannot insert the value NULL

В .Net существует очень простой способ вносить изменения в базу из таблицы, загруженной в DataGridView - использовать методы OleDbDataAdapter вроде Update. К сожалению, как и все коробочные решения данным способ построен по принципу "шаг вправо, шаг влево - расстрел". Если … Читать далее

Как прочитать db3/dbf/dbase из C#

Одна из особенностей работы в корпоративной среде - необходимость работы с древними как шерстистые носороги форматами. На самом деле для промышленных систем не особо нужен даже графический интерфейс, не говоря уже о более новых технологиях - на некоторых предприятиях до … Читать далее

Работа с Excel из C# через COM Interop, часть 3, чтение данных

В предыдущей статье я рассмотрел простую запись данных в документ Excel. Теперь настала пора чтения. Само собой мы можем прочитать данные из ячейки по индексу, но из какой именно? Кроме простого чтения нам необходимо знать, какая часть документа заполнена данными. … Читать далее

Как полностью закрыть Excel, вызванный из C# Interop

Работа c Excel в C# похожа на работу с Word, но вот выход закрытие используемого в коде приложения осуществляется несколько более сложным образом: предполагая, что … Читать далее

Как раскрасить строки (изменить цвет текста) в ComboBox (C# и WinForms)

Имеется комбо-бокс, связанный с источником данных. Задача: раскрасить строки в разные цвета по какому-то критерию, связанному с источником данных. Чтобы решить эту задачу придется изменить отрисовку на экране строк комбо-бокса повесившись на событие DrawItem. По умолчанию это событие не происходит, … Читать далее

LinQ, значение по умолчанию в выборке

Задача: в LinQ запросе вернуть единственное значение или значение по умолчанию если запрос не вернет ни одного элемента. В принципе есть стандартные методы. SingleOrDefault возвращает значение по умолчанию и выбрасывает исключение если запрос вернул несколько элементов, FirstOrDefault не выбрасывает исключения, … Читать далее

C#, Interop.Word - ошибка "Отсутствует доступ к отдельным строкам, поскольку таблица имеет ячейки, объединенные по вертикали."

Или в английском варианте Cannot access individual rows in this collection because the table has vertically merged cells. Как несложно догадаться ошибка возникает при попытке объединения ячеек в таблице документа Word по вертикали, в колонках, точнее говоря при попытке обратиться … Читать далее

Как изменить ориентацию страницы в MS Word из C# (interop)

Чтобы просто изменить ориентацию, достаточно использовать свойство диапазона-range PageSetup.Orientation принимающее значения WdOrientation Но если мы хотим изменить ориентацию не всего документа, а конкретных страниц, то перед страницей с измененной ориентацией надо вставить разрыв секции используя метод Range.InsertBreak с параметром из … Читать далее