2013-04-05 3 views
0

У меня есть C# WinForm DataGridView.C# datagridview дифференцировать пользовательский ввод из программы

Программа должна иметь возможность изменять значения ячеек в DataGridView, но пользователю не разрешается.

I.e .: Как я могу различить, редактирует ли пользователь или программу ячейку в DataGridView?

До сих пор я нашел только свойство readonly (например, столбца). Но тогда программа также не может редактировать столбец.

я мог оставить столбец readonly=true и когда программа хочет изменить значение ячейки, сделать readonly=false, изменить значение, readonly=true ... но это решение кажется очень плохо для меня, особенно если столбец требует постоянного обновления из программы (например, поток данных о финансовых ценах), но я не хочу, чтобы пользователь менял цену (даже если она скоро будет перезаписана программой, которая может скоро или скоро не произойти).

Спасибо, Имран

ответ

1

Вы имеете в виду это?

dataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically; 
+0

не уверен, но только что это сам я думаю ... смотрите ниже – user2248305

+0

о человеке, я думаю, что я только что нашел его ... моего DataGridView был привязан к DataTable и сделать DataTable столбец только для чтения не позволяет ни пользователя или программы для изменения значения ячейки. , но сама колонка datagridview readonly будет запрещать ввод пользователя, но позволяет программе изменять значение ... Извините за вопрос, следовало попробовать еще 10 минут ... – user2248305

+0

(не разрешили ответить на мой собственный вопрос (новый пользователь)) – user2248305

0

Вы можете использовать свойство «Включено» DataGridView, чтобы включить пользовательский ввод всей сетки данных.

+0

Ах да, также приятно знать. – user2248305

+0

Я не уточнил, но я имел в виду, что определенные столбцы должны иметь требуемое свойство, некоторые столбцы должны быть полностью открыты для редактирования также пользователем – user2248305

Смежные вопросы