Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Sasha
4919 / 2384 / 529
Регистрация: 05.06.2008
Сообщений: 7,466
Записей в блоге: 3
#1

Отключение изменений в гриде

22.07.2009, 17:24. Просмотров 679. Ответов 2
Метки нет (Все метки)

Подскажите по такому вопросу.
Мне нужно передзапросом отключить DBGrid, чтобы оно(как бы замерло) и не показывало изменений. А потом включить.
Пробовал вот так
C++
1
DataSource1->DataSet = NULL;
Но оно не помогло.
Может кто-нибудь знает, как можно это реализовать?
Заранее благодарен за ответ

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2009, 17:24
Ответы с готовыми решениями:

Lookupfield в гриде
Есть lookupcombobox c параметрами: DataField = 'USERS_ID' ...

Подсветить строку в гриде
Доброго времени суток. Как при переходе в режим редактирования, в гриде...

Сортировка в гриде через запросы
Уважаемые программисты помогите разобратся по такому вопросу Вот код ...

Не получается сохранить название столбцов в гриде
Ребята помогите разобраться Сохраняю ширину столбцов в гриде таким способом ...

Количество символов в строке столбцов в гриде
Загружаю данный из txt в StringGrid. С количеством строк всё просто и понятно,...

2
Airhand
502 / 458 / 3
Регистрация: 08.07.2009
Сообщений: 2,625
23.07.2009, 14:17 #2
DisableControls, а потом EnableControls.
0
Sasha
4919 / 2384 / 529
Регистрация: 05.06.2008
Сообщений: 7,466
Записей в блоге: 3
23.07.2009, 15:44  [ТС] #3
Вот так в принципе работает

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
void __fastcall TMainForm::Button4Click(TObject *Sender)
{
 
DBGrid1->DataSource->DataSet->DisableControls();
try
{
   ADOQuery1->SQL->Clear();
   ADOQuery1->SQL->Text = "SELECT Invent_Number,Number_in_Lan,Department,Processor,Memory,HDD,Room  FROM Glavnaya WHERE Invent_Number = (:Invent_Number)";
   ADOQuery1->Parameters->ParamByName("Invent_Number")->Value = Edit1->Text;
   ADOQuery1->Open();
   DataSource1->DataSet = NULL;
     if(ADOQuery1->RecordCount)
    {AnsiString qw = "Такой инвентарный номер уже есть базе данных!!! \n\n" + IntToStr(ADOQuery1->FieldByName("Invent_Number")->AsInteger)+" - "+ADOQuery1->FieldByName("Number_in_Lan")->AsString+" - "+ADOQuery1->FieldByName("Department")->AsString+" - "+ADOQuery1->FieldByName("Processor")->AsString+" - "+ADOQuery1->FieldByName("Memory")->AsString+" - "+ADOQuery1->FieldByName("HDD")->AsString+" - "+ADOQuery1->FieldByName("Room")->AsString + "\n\n" + "Введите другой инвентарный номер";
    Application->MessageBox(qw.c_str(),"Внимание",MB_ICONWARNING);
    Edit1->SetFocus();
    //ShowScrollBar(DBGrid1->Handle,SB_VERT,true);
    Abort();
    }
 
}catch(...){}
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT *FROM Glavnaya");
ADOQuery1->Open();
DataSource1->DataSet = ADOQuery1;
DBGrid1->DataSource->DataSet->EnableControls();
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.07.2009, 15:44

Имитация нажатия по названию колонки при сортировке в гриде
Здравствуйте! Знаю, что можно сымитировать нажатие кнопки, а как можно...

Отслеживание изменений в БД
Есть БД, к которой подключено несколько клиентов. Каждый из них имеет...

Подтверждение изменений в базе
Добрый день, Уважаемая администрация и пользователи форума! Помогите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru