Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361

    [VB6]: MsFlexgrid - Togliere la prima riga

    Ciao ragazzi
    arrivo subito al dunque, ho una MsFlexGrid che con un pulsante carico il database che ho crato, in questo modo:

    Private Sub ApriDataBase()
    Dim RigaGrid As Integer
    On Error Resume Next
    FLEX.Rows = 1
    Dim DB As Database
    Dim rst1 As Recordset
    Set DB = OpenDatabase("C:\VENDITA\DB\DB_LO.mdb")
    Set rst1 = DB.OpenRecordset("SELECT ID, INDICE, CATEGORIA FROM TIPOLOGIA")
    Do While Not rst1.EOF
    Dim i As Integer
    With FLEX

    FLEX.AddItem rst1.Fields("INDICE") & vbTab _
    & rst1.Fields("CATEGORIA").Value

    End With
    rst1.MoveNext
    Loop

    rst1.Close
    DB.Close
    End Sub

    Dato che ho creato una Flex Editabile con una TextBox, vorrei che la prima riga non sia editabile, come posso fare?
    Grazie vr-claudio

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    Dato che ho creato una Flex Editabile con una TextBox, vorrei che la prima riga non sia editabile
    Suppongo che tu abbia adottato la tecnica, suggerita anche dalla guida, di sovrapporre una TextBox alla cella cliccata. Se non vuoi rendere "pseudo-editabile" una riga basta che tu non faccia comparire la TextBox quando il clic è avvenuto su quella riga, non mi sembra difficile dal momento che la proprietà Row ti dice qual'è.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361

    ...

    ma come non è editabile che ci sono esempi OVUNQUE, questo è un esempio:

    Private Sub FLEX_Click()
    On Error Resume Next
    Dim indice As Long
    Static indiceprecedente As Integer
    casella.Visible = False

    casella.Left = FLEX.Left + FLEX.CellLeft
    casella.Top = FLEX.Top + FLEX.CellTop
    casella.Height = FLEX.CellHeight
    casella.Width = FLEX.CellWidth
    casella.BackColor = &H80FFFF
    casella.Text = FLEX.Text

    casella.ZOrder
    casella.Visible = True
    casella.SetFocus

    indiceprecedente = indice
    End Sub

    ...

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    e secondo te l'esempio che hai postato dimostrerebbe che una FlexGrid è editabile?
    Che cos'è "casella"?

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361

    ...

    pensavo fosse evidente...cmq casella è una textbox, nel pomeriggio ti allego l'altro pezzo di codice che manca

    vr-claudio

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    Certo che è evidente; la mia era una domanda retorica. Proprio perché è una TextBox è quella ad essere editata, non certo la FlexGrid.
    Per questo nella mia risposta avevo detto "pseudo-editabile"

  8. #8
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244

    Re: ...

    Originariamente inviato da vr-claudio
    pensavo fosse evidente...
    Ah, questa è proprio bella da leggere.

    Adesso parliamo per enigmi ... VVoVe:

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    Noto che un moderatore ha cancellato l'altro thread sullo stesso argomento. Ok, glielo avevo segnalato io, ma almeno poteva recuperare l'ultimo post che avevo scritto

    Quello che cercavo di dirti è che il fatto che la MS FlexGrid NON sia editabile è cosa certa e condivisa da tutti. Questo non è un difetto, anzi, può essere considerato più coerente con l'uso che di solito si fa di una griglia.

    La tecnica arcinota che tu hai applicato consiste nel far comparire una TextBox, prima invisibile, esattamente sovrapposta alla cella che l'utente ha cliccato (o doppiocliccato, a seconda dei gusti). In questo modo l'utente ha l'illusione di srivere nella cella della FlexGrid mentre in realtà sta scrivendo in una TextBox che poi viene di nuovo fatta scomparire quando si preme Return o quando si clicca da un'altra parte, avendo cura di trasferire il contenuto della TextBox nella cella sottostante.

    Questo è un trucco, se vuoi anche abbastanza ingegnoso, ma che non significa che si possa editare una FlexGrid. Sarebbe come dire che una Label può contenere un'immagine solo perché gli si può sovrapporre una PictureBox.

    Ci siamo ora? Penso di sì.
    Ciao.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.