Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    615

    Ottenere associazione dati databinding

    Buonasera a tutti.
    Dovrei ottenere l'associazione dati di una textbox in un win form creata automaticamente trascinando un dataset sul form, ovvero mi serve un comando tipo ottieniassociazionedati(MiaTextBox) che mi restituisca il dataset ed il campo ai quali quella textbox è collegata. Vi ringrazio in anticipo.
    Shadow

  2. #2
    DataBinding() ...
    Ma prima lo avrai assegnato no? Inoltre, ti ricordo che oltre al Drag and Drop VB supporta anche la scrittura di codice, quindi dopo che dragghi nel tuo Form, vai nel codice e guarda cosa ha scritto Visual Studio ...

    Magari impari anche qualcosa che dici?


  3. #3
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    615
    Raffeau grazie di avermi risposto ma la mia non è mancanza di buona volontà come potrebbe trasparire dal tuo messaggio. Sono andato a vedere nel file designer, riga per riga, ed ho trovato una sintassi in cui quella proprietà si imposta solamente (add.. ecc). Ho cercato di invertire quella riga per ottenere il relativo valore, ho cercato nell'help ma senza esiti. E' da ieri che provo.

    Mi servirebbe solo un comando in C# 2005 che data una certa textbox mi dica quale campo di quale dataset vi è associato, la cosa sarebbe un pò urgente perché ormai è da un bel pò che ci sto dietro. Se ti fosse possibile indicarmelo te ne sarei molto grato, ti assicuro che nei limiti delle mie possibilità le ho provate davvero tutte.

    Grazie comunque.

  4. #4
    Ma la domanda è molto strana perchè se lo assegni come mai non sai quale è ??? Comunque :

    In questo modo assegni il binding

    codice:
    this.textBox1.DataBindings.Add("Text", cust, "ID", true);
    Per ricavarlo sarà
    codice:
    Binding IDBinding = this.textBox1.DataBindings["Text"];
    quello_che_vuoi = IDBinding.nome_proprietà
    Non me la ricordo ... ma la sintassi che devi usare è questa sopra

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    615
    E' inutile, quello che scrivo non funziona ed evidentemente per carenze mie.
    Faccio prima a dirti quello che voglio fare. Sul mio form C# 2005 che rappresenta un'agenda sulla quale ho trascinato un dataset creando così le textbox che rappresentano i campi, e fin qui tutto ok.
    Ora vorrei creare un filtro dati applicabile su tutti i campi. Ho creato una textbox TBRicerca nella quale inserire la voce in base alla quale filtrare (ad esempio "Rossi", o "Brambilla", o "Via Gelsi") e fin qui tutto ok.

    Vorrei ora (e questo è il punto) una funzione che, cliccando su una generica textbox sulla quale applicare il filtro, filtri i soli dati che nel campo corrispondente a quella textbox abbiano il valore inserito in TBRicerca. Ho provato 12098 combinazioni dei tuoi suggerimenti ma non ci riesco, sicuramente per mie impreparazioni. Se non riesco a venirne fuori rischio di passarci le notti, eppure mi sembra di essere vicino alla soluzione.

    Datemi una mano vi prego... Grazie

  6. #6
    Segui le linee guida Microsoft per lo sviluppo di DataEntry ..

    [list=1][*]Associ i dati con DataBinding[*]Crei un pulsante per la ricerca[*]una funzione che ti dice in quale casella è presente del testo[*]in base al testo fai un like nel database di quel testo[/list=1]

    Mi sembra molto piu' logico, altrimenti metti che uno scrive 'rossi' al posto di 'Rossini' e tu non lo cerchi e magari esiste ...

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    615
    Mi hai fatto riflettere, ti ringrazio. Risolverò così (ma sottopongo la soluzione alla tua esperienza):

    1) Voglio filtrare per vedere tutti e soli i record che hanno "Pascoli" nel campo "via";
    2) Inserisco il cursore nel campo Pascoli;
    3) Mi sposto sulla combobox di ricerca (che dopo il tuo consiglio sarà una combobox e non più una semplice text box) ed una apposita funzione mouseleave non appena il puntatore ci passa sopra stabilisce il primo termine CAMPO dell'espressione del filtro prendendolo dal databinding del campo in cui si trova il cursore (non è un problema, uso activecontrol), contemporaneamente fa sì che l'elenco di quella combobox sia proprio la lista di tutte le strade inserite nel campo "vie";
    4) Non appena scelta la via dall'elenco della combobox, si attiva il filtro CAMPO = ValoreSceltoDallaComboBox

    Che te ne pare? Credo sia molto più facile da usare per l'utente che da implementare per il programmatore!! Però per il punto 3 devo ottenere quella informazione!! A maggior ragione visto che ora mi serve per far eseguire due operazioni...

    Grazie per tutte le tue risposte, sono certo che con il tuo aiuto ne verrò fuori!

  8. #8
    Si ma fai un accrocchio, ricorda che l' utente vuole ottenere il massimo con il minimo sforzo. Io faccio cosi' :

    Poniamo di avere 3 caselle txtNome, txtCognome e txtVia

    quando l' utente preme trova io faccio cosi'

    codice:
    Public Class Finder
        Public Sub FindName()
            Dim strSQL as String = "SELECT * FROM INDIRIZZI " & _
            "WHERE "
            If txtNome.Text <> "" Then
                strsql +="NOME LIKE '%" & txtNome.Text & "%'" 
                Exit Sub
            EndIf        
            If txtCognome.Text <> "" Then
                strsql +="COGNOME LIKE '%" & txtCognome.Text & "%'" 
                Exit Sub
            EndIf        
            If txtVia.Text <> "" Then
                strsql +="VIA LIKE '%" & txtVia.Text & "%'" 
                Exit Sub
            EndIf
        End Sub
    End Class

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    615
    Caro Raffaeau,
    ho riflettuto molto a lungo sulla tua dettagliatissima risposta, della quale ti ringrazio.

    Considerato che, come dici, l'utente vuole ottenere il massimo col minimo sforzo mi sono concentrato sulla semplicità. Ed ho dedotto che la ricerca che avevo in mente è realizzabile anche inserendo nello stesso form un datagrid, tutto qui. Nel sistema di ricerca che avevo in mente io l'utente non si sarebbe comunque trovato con un menù a discesa con la lista dei valori inseriti in un certo campo? Benissimo, ora visualizzerà quei valori in una griglia. E posizionandosi sulla riga desiderata i campi dettaglio che ho collocato in una diversa zona del form visualizzeranno tutti i particolari di quella riga scelta.

    Ti ringrazio moltissimo. A volte le soluzioni sono più semplici di quanto immaginiamo.

    Shadow

  10. #10
    A volte le soluzioni sono più semplici di quanto immaginiamo
    La penso proprio cosi'

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 © 2026 vBulletin Solutions, Inc. All rights reserved.