
Имеем TIBDataBase, TIBDataSet, TIBTransaction, DataSource и DBGridEh. TIBDataSet является мастером по отношению к другим TIBDataSet (master-detal по полю ID). Ну это так, на всякий случай говорю. Вряд ли это влияет.
В свойстве TIBDataSet.SelectSQL:
Код: Выделить всё
SELECT * from THEMAIN WHERE (TREELEVEL = 0 OR TREELEVEL = 2)
ORDER BY NAME /*сортировка по стринговому полю "Name"*/
При DblClick на строке DbGridEh проверяется уровень, и осуществляется отбор по этому уровню плюс опять же нулевой уровень, чтобы две точки опять оказались наверху. Если даблклик производится по верхней строчке (по двум точкам), то производится "выход наверх", то-есть отбор по предыдущему уровню.
Но все это поэзия. А вот проза в том, что при даблклике на гриде почему-то возвращается всегда значение верхней строки, независимо от того, на какой строке мы щелкаем.
Вчера весь вечер прощелкал впустую. Помогите, а?