По умолчанию редактирование в DataGridView весьма неинтуитивно, требует либо ввод чего-то либо нажатия F2 либо многократного кликания, но если мы переключимся на редактирование по клику, то столкнемся с совсем другой проблемой - невозможно выбрать всю строку, чтобы удалить ее из … Читать далее
Yearly Archives: 2012
В .Net существует очень простой способ вносить изменения в базу из таблицы, загруженной в DataGridView - использовать методы OleDbDataAdapter вроде Update. К сожалению, как и все коробочные решения данным способ построен по принципу "шаг вправо, шаг влево - расстрел". Если … Читать далее
Задача: проверить, есть ли на сервере соответствующий серверный логин, роль на уровне базы данных, пользователь на уровне базы данных и создать в случае отсуствия. Решение приводится для MS SQL Server 2005 и выше. Существование серверного логина … Читать далее
Одна из особенностей работы в корпоративной среде - необходимость работы с древними как шерстистые носороги форматами. На самом деле для промышленных систем не особо нужен даже графический интерфейс, не говоря уже о более новых технологиях - на некоторых предприятиях до … Читать далее
В предыдущей статье я рассмотрел простую запись данных в документ Excel. Теперь настала пора чтения. Само собой мы можем прочитать данные из ячейки по индексу, но из какой именно? Кроме простого чтения нам необходимо знать, какая часть документа заполнена данными. … Читать далее
Работа c Excel в C# похожа на работу с Word, но вот выход закрытие используемого в коде приложения осуществляется несколько более сложным образом: предполагая, что … Читать далее
Есть два способа спроектировать систему. Один — сделать ее настолько простой, что в ней очевидно не будет недостатков, а второй — сделать ее настолько сложной, что в ней не будет очевидных недостатков. Первый способ намного более труден. Тони Хоар … Читать далее
Задача: определить, есть ли в выборке несколько идущих подряд строк с определенными значениями, например три строки подряд (если просто три, то задача легко решается) с ненулевым значением числового поля. Задача очень простая в алгоритмических языках, но несколько не очевидная в … Читать далее
Разумные причины создания методов: - Снижение сложности. В методе скрывается информация, о которой можно не думать при работе над другими частями программы. - Документирование. Выделение фрагмента кода в удачно названный метод - один из лучших способов его документирования. - Предотвращение … Читать далее
Имеется комбо-бокс, связанный с источником данных. Задача: раскрасить строки в разные цвета по какому-то критерию, связанному с источником данных. Чтобы решить эту задачу придется изменить отрисовку на экране строк комбо-бокса повесившись на событие DrawItem. По умолчанию это событие не происходит, … Читать далее