Иллюстрация к циклу заметок про работу с Microsoft Word из C#. Проект Visual Studio 2010, два класса - WordDocument и WordSelection (просто часть документа, обертка над Range), реализующие описанные приемы, тестовый шаблон и простенькое окошко, позволяющее протестировать работу классов и … Читать далее
Ведомир
Задача: выполнить запрос на LinQ к DataTable. Стандартная DataTable LinQ не поддерживает, но решается это затруднение очень просто, надо использовать метод AsEnumerable() из LinQ to Dataset. Таблица должна быть строго типизирована, иначе получим ошибку Specified cast is not valid. Минимальный … Читать далее
Задача: получить выбранную в данный момент строку/ячейку DataGridView и/или выбрать ее. На самом деле это одна и та же задача, если количество строк и столбцов в гриде может непредсказуемо меняться. Мы конечно можем получить выбранный столбец через свойство SelectedRows, но … Читать далее
Иногда программисту хочется чего-то удалить из коллекции. Например строку из коллекции строк DataTable. Он радостно пишет что-то в духе: и получает жестокий облом в виде ошибки с невнятным сообщением "Collection was modified; enumeration operation might not execute". … Читать далее
Этой записью я надеюсь начать цикл конспектов замечательной книги Стива Макконела "Совершенный код" - обязательного чтения для любого программиста. При всей своей замечательности книга очень большая и сложная, даже при повторном прочтении очень сложно удержать ее в голове всю. Начну … Читать далее
Как-то раз, просматривая свой код, вы заметили, что два больших участка выглядят практически одинаково. Они действительно были одинаковы, за исключением того, что один участок относился к "спагетти" а второй к "шоколад". Эти примеры написаны на JavaScript, но даже если вы … Читать далее
Задача: сохранять информацию о всех изменения в определенной таблицы. Наиболее простое решение - создать таблицу, совпадающую по структуре с отслеживаемой и при каждом изменении писать в эту таблицу строку с обновленным состоянием измененной строки. Сделать это можно с помощью триггера, … Читать далее
В подавляющем большинстве случаев то, что неопытным разработчикам кажется прекрасным, поверхностно, а то, что они считают уродливым - это на самом деле закаленный в боях, готовый к внедрению код от мастеров. Learn to Read the Source, Luke on Coding Horror … Читать далее
Два очевидных решения - сделать всплывающую подсказку или увеличить ширину самого выпадающего списка. Вычисляем максимальную длину строки в таблице-справочнике: Setting DropDown list width of DataGridView ComboBoxColumn - WinForms … Читать далее
Задача: вывести данные в таблицу Excel с красивым оформлением и открыть ее, чтобы пользователь мог напечатать или сохранить средствами самого Excel. Необходимо поддерживать все версии Office, начиная с 97, то есть вывод в новые xml-форматы Office 2007 и выше невозможен … Читать далее