Улучшения CDaoCombo. У нашего класса CDaoCombo есть ряд недостатков. Во первых если найдена запись то дальше просматривать не надо в функции SetRecord. А если не найдена нужно установить отсутствие текущей ячейки. Исправим эту функцию.
В проекте находится класс CDaoCombo упакованный для использования в Component Gallery, как ogx файл.
void CDaoCombo::SetRecord(long lRecord) { for (int i = 0; i < GetCount(); i++) // бежим по записям { long x=GetItemData(i); // смотрим связанные данные if (x==lRecord) { SetCurSel(i); // если совпадают показать return; // выйти } } SetCurSel(-1); }
Ну и теперь нам нужна функция для получения выбранного индекса для того, чтобы при смене выбора можно было занести изменения в набор записей.
long CDaoCombo::GetIndex() { int i=GetCurSel(); // текущий выбор long x=GetItemData(i); // связанные данные return x; // вернуть }
В проекте находится класс CDaoCombo упакованный для использования в Component Gallery, как ogx файл.