String TGridModeDemoMainForm::GetSQLCondition(TcxGridDBTableView *AView, bool AAddFilter) { String Result = "", AStr = "where "; TcxGridDBDataController *ADataController = AView->DataController; if (AView->IsDetail){ AStr = " and "; String AFieldName = ADataController->DetailKeyFieldNames; String AMasterKeyFieldName = ADataController->MasterKeyFieldNames; TcxGridDBTableView *AMasterGridView = (TcxGridDBTableView*)AView->MasterGridView; TDataSet *AMasterDataSet = AMasterGridView->DataController->DataSet; Variant AMasterKeyValue = AMasterDataSet->FindField(AMasterKeyFieldName)->Value; Result = "where " + AFieldName + " = " + VarToStr(AMasterKeyValue); } if (AAddFilter && !ADataController->Filter->IsEmpty() && ADataController->Filter->Active) Result = Result + AStr + ADataController->Filter->FilterText; return Result; }