Hemanth Kumar Ответов: 1

Как отключить все строки, кроме выбранной или верхней в datagridview приложения C# windows form?


Привет,
Я работаю над windows form datagridview. Здесь я должен отключить все строки представления сетки,кроме выбранной или той, которая находится в верхней части(в моем случае). Я хочу, чтобы это происходило в динамике, так как данные будут обновляться с помощью таймера.Можно ли это сделать в пределах загрузки страницы формы?

Кто-нибудь может помочь мне решить эту проблему?
Заранее спасибо..

Что я уже пробовал:

This code sample is what i tried, but didn't worked for me..

                if (grdBidding.CurrentCell.Selected == true)
                {
                    grdBidding.Rows[j].ReadOnly = false;
                }
                else
                {
                    grdBidding.Rows[j].ReadOnly = true;
                }   

Gerry Schmitz

Что вы подразумеваете под словом "отключить"? Он не двигается? Его нельзя отредактировать? Что делает "включенная" строка, чего не может сделать другой случай?

Hemanth Kumar

Отключение означает,что он не позволит пользователю редактировать, в то время как включенная строка позволяет пользователю редактировать.

1 Ответов

Рейтинг:
1

Gerry Schmitz

Вы не "отключаете строки". Вы делаете "процедуру редактирования" "умнее".

Если кто-то хочет "отредактировать запись", вы не "отключаете" все остальные записи в базе данных. Вы решаете, является ли "эта" запись редактируемой в данном контексте, а не наоборот (поиск вещей для блокировки).

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


Hemanth Kumar

Да, спасибо за ценные комментарии ,это действительно работало для кнопок просмотра сетки, но не для всех строк, что также хорошо для меня.

for (int i = 1; i < grdBidding.Rows.Количество-1
; ++я)
{

//grdBidding.currentRow.Толькочтение = истина;
грдбиддинг.Строки[i].Ячейки[6].ReadOnly = true;
//grdBidding[i, grdBidding.CurrentRow.Индекс].Толькочтение = истина;

}