Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    145

    [Delphi 7] Problema con DBGrid

    ciao a tutti! ho un problema con una DBGrid (in realtà è una IWDBGrid, componente Intraweb) pero' penso sia la stessa cosa! La mia DBGrid visualizza il contenuto di una tabella Interbase la quale ha 3 campi : selezione, utente, data. Il campo selezione puo'contenere una stringa('S' o 'N'). Io ho associato alla colonna corrispondente della DBGrid un Checkbox e desidererei che esso sia fleggato se il campo selezione è 'S' e non lo sia quando il campo è 'N'! come posso fare? in pratica come faccio ad accedere alla cella della DBGrid e quindi settare poi il Checkbox?

    spero di essermi spiegato bene!


    grazie mille!!!!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    2,894
    Quando selezioni il Record sei già nel Record corrispondente nel Database, dopodichè controlli se nel campo c'è S o N... Cmq credo che esista anche il tipo di campo Boolean nei database Interbase...

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    145
    ok grazie! pero' come faccio a fleggare il CheckBox corrispondente?

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Se usi una DBCheckBox (o equivalente) associata al campo, la visualizzazione viene in automatico.

    Ciao!

    P.S.: non esiste il boolean in InterBase, ma puoi facilmente implementarlo con un campo di tipo CHAR(1).
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    2,894
    Allora sono i DB Paradox che ce l'hanno... Scusate :gren:

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    145
    La visualizzazione avviene in automatico? a me no!!! sigh!!! infatti nel db il campo è un varchar(1) e contiene 'S' o 'N' (si o no)! la colonna della Dbgrid corrispondente a questo campo l'ho associata a un DbCheckbox ma nella griglia mi fa vedere la stringa 'S' o 'N' con di fianco il CheckBox non fleggato!!!! come posso fare??? aiutooooooooooo!!!!!

    grazie!!!!!!!!!!!!!!!!!!!!!

  7. #7
    Ti consiglio di provare wquesto codice, in questa maniera riempi un controllo edit con il valore del 1# campo della griglia.

    In questo modo gestisci l'evento CellClick della DBGrid, quindi si suppone che l'utente clicchi sulla riga della griglia. (giusto, no?)
    ALtrimenti devi adattarlo all'evento che ti serve.

    procedure TForm1.DBGrid1CellClick(Column: TColumn);
    begin
    if DBGrid1.SelectedField<>Nil then
    //ammesso che 0 sia la posizione del campo 'selezione' nella griglia
    Edit1.Text:=DBGrid1.Fields[0].AsString;
    end;

    Al posto di edit1 chiaramente ci metti il valore del combobox che vuoi tu.

    Fammi sapere.
    Cià.

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da alanf1981
    La visualizzazione avviene in automatico? a me no!!! sigh!!! infatti nel db il campo è un varchar(1) e contiene 'S' o 'N' (si o no)! la colonna della Dbgrid corrispondente a questo campo l'ho associata a un DbCheckbox ma nella griglia mi fa vedere la stringa 'S' o 'N' con di fianco il CheckBox non fleggato!!!! come posso fare??? aiutooooooooooo!!!!!
    grazie!!!!!!!!!!!!!!!!!!!!!
    Attenzione: trattandosi di un CheckBox che può avere 2 stati (in realtà 3), ma che può essere associata a qualsiasi tipo di campo, devi specificare nelle proprietà ValueChecked e ValueUnchecked i valori che devono essere interpretati rispettivamente come vero e falso, in questo caso "S" e "N".

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    145
    Grazie ora il DbCheckBox si aggiorna corretamente! Solo che mi viene visualizzato solo 1 DbCheckBox x la prima riga mentre nelle altre nn c'è!!!! come mai??? come faccio a capire qualce DbCheckBox è stato cliccato dall'utente? (ricordo che sto usando Intraweb)

    grazie mille!!!!!!!!!!!!!!!!

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.