Как установить столбец текстового поля DataGridView на мультилинию?

Это действительно зависит от приложения. Для нормального проекта я рекомендовал бы использовать только Доступ, но иногда, потребности конкретны, и электронная таблица Excel могла бы быть более соответствующей.

, Например, в проекте я должен был разработать для бывшего работодателя, потребность состояла в том, чтобы предоставить доступ к различным людям на формах (предварительно заполненный некоторыми данными, отличающимися для каждого человека) и сделать, чтобы они завершили их, затем повторно импортировали данные.

, Так как форма использовала тяжелое перемалывание чисел, имело больше смысла создавать его в Excel.

рабочие книги Excel для различных людей были созданы из шаблона с помощью VBA, затем сохранили в надлежащем месте с правами доступа на папке.

Все рабочие книги были присоединены как Внешние таблицы к рабочим книгам, с помощью названный диапазонами. Я мог тогда запросить рабочие книги из Приложения Доступа. Весь административный материал был сделан из дб, но конечные пользователи только имели доступ к своей соответствующей рабочей книге.

Developping приложение Excel/доступа этим путем было приятное впечатление, и UI был более удобным для пользователя, чем это будет использовать Доступ.

я должен сказать, что в этом случае, потребовалось бы намного больше времени, делая его в Доступе, чем это взяло использованию Excel. Кроме того, Модель Объекта приложения кажется лучше хотя в Excel, чем в Доступе.

, Если Вы планируете использовать Excel в качестве фронтенда, не забывайте блокировать все ячейки, но доступные для редактирования, и не бойтесь использовать замаскированные строки и столбцы (чтобы создать таблицы выходных данных для базы данных доступа, выполнить промежуточные вычисления, и т.д.).

необходимо также выключить автовычисление при импорте данных.

43
задан informatik01 1 September 2013 в 23:21
поделиться

2 ответа

Вы можете добиться этого, установив для WrapMode из DefaultCellStyle вашего DataGridViewTextBoxColumn значение true .

68
ответ дан 26 November 2019 в 22:42
поделиться

Помимо настройки WrapMode свойства DefaultCellStyle, вы можете сделать следующее:

  1. Вам нужно поймать GridView's EditingControlShowing Event
  2. Cast Control на EventArgs до нужного вам типа (i. e. текстовое поле, флажок или кнопка)
  3. Используя этот кастовой тип, измените свойство Multiline, как показано ниже:
private void MyGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
    TextBox TB = (TextBox)e.Control;
    TB.Multiline = true;            
}
4
ответ дан 26 November 2019 в 22:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: