Особенности связки ComboBox с DataTable и ошибка с System.Data.DataRowView

Программисты - существа капризные и непредсказуемые. Иногда у них возникает желание заполнить ComboBox данными из DataTable вручную, не используя визуальную среду. Делается это следующим образом: Не заполнив DisplayMember и ValueMember можно получить совершенно невнятную ошибку - ComboBox будет заполнен строками … Читать далее

Как вставить строку на заданную позицию DataTable

Иногда надо вставить дополнительную строку на заданную позицию в DataTable. Алгоритм прост, создаем пустой DataRow, соответствующий структуре данной таблицы, с помощью метода NewRow(), заполняем его данными и добавляем в коллекцию строк методом InsertAt(). … Читать далее

Глюк с копированием данных в буфер из DataGridView

Есть DataGridView с некими мега-важными данными, которые мы хотим скопировать в Excel через гениальную особенность ОС Windows "буфер обмена". Преисполненные самых радужных надежд жмем Ctrl+C, Ctrl+V и получаем тотальную абракадабру в левой кодировке. "Если видишь в стенке люк, не пугайся … Читать далее

Определяем название метода и класса, выполняющихся в данный момент

Определить название метода можно с помощью метода MethodBase.GetCurrentMethod или аналогичного метода класса MethodInfo Оба метода возвращают одно и то же значение. Какой использовать? GetCurrentMethod() - это общий (shared) метод классов MethodBase и MethodInfo. Но класс MethodInfo является производным от класса … Читать далее

Файлы в C# - проверяем наличие файла, определяем размер, дату последнего изменения, перемещаем удаляем

Проверить, существует ли файл, можно с помощью функции Exists класса File Получить список путей к файлам в каталоге - Directory.GetFiles Проверить, существует ли каталог и создать новый - Directory.Exists и Directory.CreateDirectory … Читать далее

Ошибка при работе с файлом конфигурации C# The name 'ConfigurationManager' does not exist in the current context

Эта ошибка может оказаться крайне малопонятной для новичка, пытающегося работать со стандартным файлом конфигурации, используя код роде этого: На самом деле все очень просто, надо не просто прописать using, но и добавить ссылку на библиотеку System.configuration в раздел References … Читать далее

Чтение и запись двоичных файлов в базу данных MS SQL 2005 из C# используя OleDb

Задача - хранить в базе данных MS SQL двоичные файлы. Это могут быть исполняемые файлы (для обновления приложения при запуске), документы Word или иные важные и нужные данные. Как и многие подобные задачи решается она просто, если знаешь за какие … Читать далее

Несуществующее значение в ComboBox

Имеем комбобокс, привязанный к некоему источнику данных. Видимый элемент списка - строка, невидимый - числовой код. Программа получает код выбранного элемента и как-то его использует. В комбобокс можно вводить свои значения, чтобы по подсказке быстро попасть на нужный элемент. Проблема … Читать далее

Как заставить клавишу Enter работать аналогично Tab - переходить к следующему элементу управления

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