У меня есть DataGridView (в приложении winforms) с несколькими столбцами, и я хочу, чтобы некоторые столбцы отображались только в коде. Это работает для всех столбцов, но один, этот один столбец по какой-то причине отказывается становиться только для чтения. Свойство ReadOnly задается в коде, и когда я проверяю свойство, оно читает True, но столбец все еще доступен для редактирования. Что может вызывать такое поведение?datagridview column.readonly не работает для одного столбца
мой код до сих пор:
private void SetColumnsReadOnly()
{
bool readOnlyValue = true; // _IsInvoicedPurchase || _IsInvoicedSales;
gttDataGridViewCar.Columns["ID"].ReadOnly = readOnlyValue;
gttDataGridViewCar.Columns["Name"].ReadOnly = readOnlyValue;
gttDataGridViewCar.Columns["Status"].ReadOnly = readOnlyValue;
// this one does not wants to get readonly !!!!
gttDataGridViewCar.Columns["Reason"].ReadOnly = readOnlyValue;
}
После выполнения этого метода, все столбцы будут только для чтения, за исключением столбца «Причина». Свойство ReadOnly для этого столбца - True, но его можно редактировать.
Кто-нибудь знает причины, почему это может произойти?
EDIT: datagridview привязан к BindingSource, который привязан к DataTable, который заполнен кодом.
EDIT: Подтверждено, что код выполняется
Я поставил кнопку на форме проверить состояние колонки после выполнения SetColumnsReadonly() для чтения свойство столбца имеет значение ИСТИНА, но он по-прежнему доступны для редактирования
Где вы называете 'SetColumnsReadOnly', это столбец« TextBox »? –
buttonclick event – GuidoG
Нечего видеть из кода. Можете ли вы проверить, действительно ли ваша программа вступает в этот метод? Можете ли вы проверить все ссылки «DataGridView», чтобы увидеть, есть ли какие-то манипуляции в другом месте? – rdoubleui