+ Rispondi al Thread
Pagina 1 di 3 123 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 29

Discussione: FlexGrid Filter (come per la datagrid)

  1. #1
    L'avatar di StegcO
    StegcO non è in linea Scolaretto
    Luogo
    Milano
    Post
    417

    FlexGrid Filter (come per la datagrid)

    Sul sito VBCorner c'è un progetto di una FilterBar per la DataGrid, volevo sapere se era possibile fare la stessa cosa per la FlexGrid, oppure per questo controllo non può essere fatto?

    grazie
    MDB/ASP/VB6 Developer

  2. #2
    L'avatar di StegcO
    StegcO non è in linea Scolaretto
    Luogo
    Milano
    Post
    417
    Ovviamente non stò richiendo il codice già fatto (se già non esiste), ma solo se è fattibile, che controlli usare, ecc.

    grazie
    MDB/ASP/VB6 Developer

  3. #3
    L'avatar di StegcO
    StegcO non è in linea Scolaretto
    Luogo
    Milano
    Post
    417
    Up fffhgfgjh
    MDB/ASP/VB6 Developer

  4. #4
    L'avatar di yronium
    yronium non è in linea Scribacchino
    Luogo
    Prato
    Post
    1,338
    Quote Originariamente inviato da StegcO Visualizza il messaggio
    Sul sito VBCorner c'è un progetto di una FilterBar per la DataGrid, volevo sapere se era possibile fare la stessa cosa per la FlexGrid, oppure per questo controllo non può essere fatto?

    grazie
    Traduzione:
    "Sul sito VBCorner ..." (che dovete andarvi a cercare. Da soli perche il link non ve lo metto. Garantisco io che esiste, che è un sito sicuro, che è facilmente rintracciabile, che contiene del materiale interessante anche per voi. E non ponetevi nemmeno il problema di registrarvi se necessario, come succede su molti siti. Io non ve lo dico nemmeno, conosco bene io il sito, fidatevi di me che ne vale la pena. Anzi, io non vi posto nemmeno il dominio .com, .it, o .eu - suvvia, cercatevelo da soli, tanto siete bravi, noh?)
    "... c'è un progetto di una FilterBar..." (oh, insomma, qualunque cosa sia lo potete anche scoprire da soli. La cercate, ve la scaricate e ve la studiate, così capite cosa fa e come lo fa. E' così semplice..., o vi devo proprio spiegare tutto?)
    "... per la DataGrid..." (ma... e che significa "non è un controllo standard di VB"? Voi siete bravi, DOVETE conoscerne il funzionamento. Non posso credere che non la utilizzate di frequente)
    "... volevo sapere se era possibile fare la stessa cosa per la FlexGrid,..." (beh, ovviamente domandarlo direttamente al creatore della FilterBar-qualunque-cosa-sia o anche al geom. VBCorner in persona sarebbe troppo semplice. E' di gran lunga più interessante chiedere a qualcuno di masterdive.it di cercarsi il sito, scaricarsi il controllo, vedere cosa fa, studiarne il codice e rispondere alla mia richiesta)
    "... oppure per questo controllo non può essere fatto?" (perché, magari, fare io stesso delle prove alla mal-che-vada non me lo sogno proprio. O magari lo faccio anche, ma di nascosto e non vi dico nulla di quello che è successo. Tiè. Voi non dovete saperne niente dei miei esperimenti, non sia mai che possiate distrarvi dalle prove che dovrete fare voi stessi...)

    Francamente, come speri che qualcuno di noi ti risponda? Personalmente, purtroppo, adesso non ho molto tempo per cercare di approfondire questo controllo per tuo conto. Ma ti prometto che pregherò per te (il cielo accoglie spesso le mie invocazioni) perché al momento è il massimo che posso fare. Spero che tu trovi velocemente qualcuno che ti possa aiutare.



    PS: il tono è ironico, ma so che tu lo capisci. Lo puntualizzo solo per coloro che cascheranno su questo post da Google.
    Io NON sono su Facebook.

    Il Vero Programmatore può contare fino a 1024 sulle dita delle mani.

    "Come porre le domande in modo intelligente" di ESR (versione italiana)

    Hai visto il mio avatar?

  5. #5
    L'avatar di StegcO
    StegcO non è in linea Scolaretto
    Luogo
    Milano
    Post
    417
    Colpito, hai ragione dovevo spiegare cos'è vbcorner, ho solo confidato nella community (visto che.. il 90% degli utenti di questo forum sanno benissimo cos'è vbcorner). Accetto la critica anche se.. Let me google that for you

    Tornando IT, io non volevo che qualcuno si scaricasse progetti su progetti per lavorare poi sulla mia flexgrid, ho solo fatto una domanda nel caso di qui, per caso, passasse qualcuno che ha, in un suo progetto, creato un filtro per la flexgrid. Nel qual caso mi aspettavo un semplice:

    "Si si può fare benissimo, lavora sulla funziona XX"

    o magari qualcosa in più ^^

    Ho chiesto qui anche perchè volevo sapere se era fattibile, magari arrivava qualcuno e mi diceva no guarda, a causa di questa proprietà è impossibile (come potrebbe essere impossibile colorare una cella di una datagrid...)

    Tutto qui, senza voler offendere nessuno, ne tanto meno chiedere ad altri di scrivere codice per me..
    MDB/ASP/VB6 Developer

  6. #6
    L'avatar di yronium
    yronium non è in linea Scribacchino
    Luogo
    Prato
    Post
    1,338
    Quote Originariamente inviato da StegcO Visualizza il messaggio
    Colpito, hai ragione dovevo spiegare cos'è vbcorner, ho solo confidato nella community (visto che.. il 90% degli utenti di questo forum sanno benissimo cos'è vbcorner). Accetto la critica anche se.. Let me google that for you
    Bravo. Questo è proprio quello che intendevo: pubblicare un link (a proposito: ganzo, questo lmgtfy.com). Però, ti devo dire che avevo già googlato io, e avevo trovato almeno due siti con lo stesso nome, che escono anche dalla ricerca che hai postato tu: VB Corner, che ho trovato anche in inglese (stranamente la ricerca su Google che hai segnalato tu non trova affatto quello italiano mentre trova subito la sua versione inglese), e VBCorner Home page. Inoltre ce n'è anche un'altro che sembra essere collegato (solo come forum) al secondo, e il suo URL sembra puntare in qualche modo al nostro gibra. Tra questi non era ben chiaro qual è quello che intendi tu.


    Quote Originariamente inviato da StegcO Visualizza il messaggio
    Tornando IT, io non volevo che qualcuno si scaricasse progetti su progetti per lavorare poi sulla mia flexgrid, ho solo fatto una domanda nel caso di qui, per caso, passasse qualcuno che ha, in un suo progetto, creato un filtro per la flexgrid. Nel qual caso mi aspettavo un semplice:

    "Si si può fare benissimo, lavora sulla funziona XX"

    o magari qualcosa in più ^^

    Ho chiesto qui anche perchè volevo sapere se era fattibile, magari arrivava qualcuno e mi diceva no guarda, a causa di questa proprietà è impossibile (come potrebbe essere impossibile colorare una cella di una datagrid...)

    Tutto qui, senza voler offendere nessuno, ne tanto meno chiedere ad altri di scrivere codice per me..
    No, ma scherzi? Nessuna offesa. Solo che il tuo terzo post mi era parso un po' insofferente. Perciò volevo solo aggiugere un commento, magari ipotizzando perché nessuno ti aveva risposto dopo dieci giorni. Comunque, spero che ora questo thread acquisti interesse, e magari troviamo qualcuno che ha già lavorato con il controllo che tu dici. Incrociamo le dita...
    Io NON sono su Facebook.

    Il Vero Programmatore può contare fino a 1024 sulle dita delle mani.

    "Come porre le domande in modo intelligente" di ESR (versione italiana)

    Hai visto il mio avatar?

  7. #7
    L'avatar di StegcO
    StegcO non è in linea Scolaretto
    Luogo
    Milano
    Post
    417
    Speriamo ^^

    in realtà non pretendevo codice già fatto, ma anche no sò.. usa sempre la datagrid per filtrare la flex.. oppure usa una flex per filtrare una flex.. oppure usa label per filtrare
    MDB/ASP/VB6 Developer

  8. #8
    L'avatar di spikexx84
    spikexx84 non è in linea Scribacchino
    Luogo
    Darfo Boario Terme (BS)
    Post
    1,164
    Quote Originariamente inviato da yronium Visualizza il messaggio
    Traduzione:
    "Sul sito VBCorner ..." (che dovete andarvi a cercare. Da soli perche il link non ve lo metto. Garantisco io che esiste, che è un sito sicuro, che è facilmente rintracciabile, che contiene del materiale interessante anche per voi. E non ponetevi nemmeno il problema di registrarvi se necessario, come succede su molti siti. Io non ve lo dico nemmeno, conosco bene io il sito, fidatevi di me che ne vale la pena. Anzi, io non vi posto nemmeno il dominio .com, .it, o .eu - suvvia, cercatevelo da soli, tanto siete bravi, noh?)
    "... c'è un progetto di una FilterBar..." (oh, insomma, qualunque cosa sia lo potete anche scoprire da soli. La cercate, ve la scaricate e ve la studiate, così capite cosa fa e come lo fa. E' così semplice..., o vi devo proprio spiegare tutto?)
    "... per la DataGrid..." (ma... e che significa "non è un controllo standard di VB"? Voi siete bravi, DOVETE conoscerne il funzionamento. Non posso credere che non la utilizzate di frequente)
    "... volevo sapere se era possibile fare la stessa cosa per la FlexGrid,..." (beh, ovviamente domandarlo direttamente al creatore della FilterBar-qualunque-cosa-sia o anche al geom. VBCorner in persona sarebbe troppo semplice. E' di gran lunga più interessante chiedere a qualcuno di masterdive.it di cercarsi il sito, scaricarsi il controllo, vedere cosa fa, studiarne il codice e rispondere alla mia richiesta)
    "... oppure per questo controllo non può essere fatto?" (perché, magari, fare io stesso delle prove alla mal-che-vada non me lo sogno proprio. O magari lo faccio anche, ma di nascosto e non vi dico nulla di quello che è successo. Tiè. Voi non dovete saperne niente dei miei esperimenti, non sia mai che possiate distrarvi dalle prove che dovrete fare voi stessi...)
    Quote Originariamente inviato da StegcO Visualizza il messaggio
    http://lmgtfy.com/?q=VBCorner
    O mio dio,ma volete farmi morire???

    Per la cronaca il primo link cioè questo porta alla prima versione del sito di Gibra, il secondo porta alla seconda (e attuale) versione del sito di Gibra e il terzo porta al forum legato al sito (quello nuovo).

    Ok dai visto che mi avete fatto ridere adesso dò un occhiata a ste FilterBar vedo cos'è e se si può rifare con la flexgrid con cui ho una buona confidenza.
    Se sei nuovo e vuoi aiuto il miglior modo che io ho trovato per ottenerlo è porre le domande in modo intelligente
    Se hai delle domande siamo qui per tentare di risponderti, se hai delle risposte siamo qui per ascoltarle
    Noi siamo una comunità, una bella comunità e funzioniamo sempre meglio se ognuno cerca di seguire al massimo il nostro regolamento

  9. #9
    L'avatar di spikexx84
    spikexx84 non è in linea Scribacchino
    Luogo
    Darfo Boario Terme (BS)
    Post
    1,164
    Quanto è ingegnoso quell'uomo....

    La risposta sì, ma bisogna aggirare un importantissima limitazione, ovvero la flexgrid non dispone della proprietà AllowUpdate, quindi scrivere nella prima riga della flexgrid è un pò più complesso, allora analisi veloce:

    Cos'è la FilterBar?

    La FilterBar è la prima riga di una griglia in cui è consentito scrivere e che in base a ciò che si scrive filtra le righe sottostanti, per esempio se in una griglia c'è una colonna "codice" e in corrispondenza della prima riga e di quella colonna viene scritto 25 si otterrà che vengano mostrate sotto solo le righe che contengo il 25 come codice.

    Realizazzione di Gibra con DataGrid:
    Gibra ha preso due DataGrid la prima editabile e la seconda no e le ha messe una sotto l'altra, poi al keypress sulla DataGrid editabile lancia una sub di aggiornamento che filtra i dati in quella sotto.

    Realizzazione ipotetica con FlexGrid
    Dal momento che la FlexGrid non dispone di AllowUpdate come proprietà bisogna rendere possibile la scrittura nella prima riga, il metodo più semplice che io conosco consiste nell'intercettare gli eventi KeyPress e KeyDown e sfruttarli per simulare una scrittura diretta sulla flexgrid, in sostanza una cosa del genere

    codice:
    Private Sub obj_msflexgrid_KeyPress(KeyAscii As Integer)
    
       'Se non è la prima colonna esci
       if obj_msflexgrid.Row <> 1 Then Exit Sub
    
       'Ha premuto BackSpace
       If (KeyAscii = 8) Then
            'Se c'è qualcosa....
            If Len(Trim(obj_msflexgrid.Text)) <> 0 Then
                'Cancella l'ultimo carattere
                obj_msflexgrid.Text = Left(obj_msflexgrid.Text, (Len(obj_msflexgrid.Text) - 1))
            End If
        Else
            'Modifichiamo il testo della cella selezionata aggiungendo il nuovo carattere
            obj_msflexgrid.Text = obj_msflexgrid.Text + Chr(KeyAscii)
        End if
    
        'Questa sub legge i parametri inseriti nella prima riga esegue la query e riaggiorna la flexgrid che contiene i dati
        AggiornaFlexGridDati
    
    End Sub
    Nel KeyDown gestisci il Canc (KeyCode = 46) e decidi cosa vuoi fare, perchè il punto debole di questo metodo è che tu non stai realmente scrivendo nella flexgrid, ma stai simulando una scrittura, quindi perdi l'uso del cursore testuale (la scrittura è esclusivamente sequenziale in avanti e all'indietro quando si cancella), perdi la possibilità di fare copia incolla, perdi la possibilità di selezionare, etc....

    La seconda soluzione, più macchinosa ma che elimina anche le limitazioni di quella precedente è quella di mettere un array di Textbox "davanti" alla prima riga della flexgrid, di modo che si ha a disposizione il cursore testuale e tutto il resto, certo bisogna gestire anche le freccie o i tab in quel caso.

    La cosa è comunque fattibile anche se non semplicissima, se mai tu comincia se ti impatani da qualche parte o qualcosa di quanto ho spiegato non ti è chiaro noi siamo qua....

    In bocca al lupo
    Se sei nuovo e vuoi aiuto il miglior modo che io ho trovato per ottenerlo è porre le domande in modo intelligente
    Se hai delle domande siamo qui per tentare di risponderti, se hai delle risposte siamo qui per ascoltarle
    Noi siamo una comunità, una bella comunità e funzioniamo sempre meglio se ognuno cerca di seguire al massimo il nostro regolamento

  10. #10
    L'avatar di yronium
    yronium non è in linea Scribacchino
    Luogo
    Prato
    Post
    1,338
    Quote Originariamente inviato da spikexx84 Visualizza il messaggio
    Ok dai visto che mi avete fatto ridere adesso dò un occhiata a ste FilterBar vedo cos'è e se si può rifare con la flexgrid...


    [...Segue...]
    Visto? Lo dicevo io che il cielo accoglie le mie invocazioni...
    Io NON sono su Facebook.

    Il Vero Programmatore può contare fino a 1024 sulle dita delle mani.

    "Come porre le domande in modo intelligente" di ESR (versione italiana)

    Hai visto il mio avatar?

+ Rispondi al Thread
Pagina 1 di 3 123 ultimoultimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi