Ho dati tabella contenenti un valore intero X che va da 1 .... sconosciuto e un valore intero Y che va da 1..9
I dati devono essere presentati in ordine 'X poi Y'.
Per un componente visivo posso impostare più nomi di indice: X; Y
Ma per un altro componente ho bisogno di un valore intero unidimensionale come indice (criterio di ordinamento).
Se X era limitato a un limite superiore di dire 100, il valore a una dimensione poteva essere semplicemente X * 100 + Y.
Se il valore a una dimensione poteva essere reale, potrebbe essere X + Y / 10.
Ma se voglio mantenere X illimitato, c'è un modo per calcolare un singolo valore 'indicizzazione' di interi da X e Y?
[Aggiunto] Informazioni di background :
Ho un componente Gantt / TreeList in cui le attività sono ordinate su un intero TaskIndex. Non è necessario che sia un campo di database reale, ma posso renderlo un campo calcolato nel set di dati del client sottostante.
I miei dati di tabella sono ad es. come segue:
ID Baseline ParentID
1 0 0 (task)
5 2 1 (baseline)
8 1 1 (baseline)
9 0 0 (task)
12 0 0 (task)
16 1 12 (baseline)
L'attività 1 ha due baseline numerate 1 e 2 (ID 8 e 5)
L'attività 9 non ha linee di base
Il task 12 ha una linea di base numerata 1 (ID 16)
Baselines numero 1-9 (la variabile Y dalla mia domanda); 0 o null identificano le attività
Gli ID sono illimitati (la variabile X)
L'utente gioca con la visibilità delle linee di base, ad es. vuole vedere tutte le attività e tutte le linee di base etichettate 1. Ciò avviene aggiornando un filtro sulla tabella.
In questo momento devo ricalcolare costantemente TaskIndex dopo aver modificato il filtro (eseguendo il looping dei record con un contatore). Sarebbe bello se TaskIndex potesse essere calcolato al volo per ogni record conoscendo solo i dati ID e Baseline nel record corrente (lavoro in Delphi dove un set di dati del client ha un gestore di eventi OnCalcFields, che viene attivato per ogni record quando necessario).
Non ho controllo sui meccanismi interni del componente visivo.