Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Επιλογή αρχικής τιμής σε combobox που γεμίζει από dataset.

Îåêßíçóå áðü ôï ìÝëïò tsitouridis. Τελευταία δημοσίευση από το μέλος KelMan στις 03-09-2006, 21:07. Υπάρχουν 18 απαντήσεις.
Σελίδα 1 από 2 (19 εγγραφές)   1 2 >
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  28-08-2006, 23:19 16069

    Crying [:'(] Επιλογή αρχικής τιμής σε combobox που γεμίζει από dataset.

    Έχω ένα αρκετά περίεργο πρόβλημα. Έχω ένα πίνακα (dataTable) π.χ.

    ID NAME

    1 GEORGE

    2 JOHN

    που ονομάζετε DT και ένα combobox ας το πούμε CB. Δίνω:

    CB.DataSource=DT;

    CB.DisplayMember=DT.Column[1].ColumnName;

    CB.ValueMember=DT.Column[0].ColumnName;

    CB.SelectedValue="2";

     

    Αν τώρα ζητήσω το selectedvalue θα μου δώσει 2, αλλά το text του CB θα λέει GEORGE και όχι JOHN.

    Δουλευώ σε VS2005 C#

    Any ideas please (vevea me infragistics ola ta parapano pezoun kanoni)

  •  29-08-2006, 07:03 16073 σε απάντηση της 16069

    Απ: Επιλογή αρχικής τιμής σε combobox που γεμίζει από dataset.

    Συνημμένα: combobox.zip

    Για δες το παράδειγμα στο συνημμένο zip αρχείο


    while (!dead) learn();
  •  29-08-2006, 10:10 16082 σε απάντηση της 16073

    Huh? [:^)] Απ: Επιλογή αρχικής τιμής σε combobox που γεμίζει από dataset.

    Φίλε μου ok το example σου, αλλά υπαρχούν διαφορές με εμένα με αποτέλεσμα να μην δουλεύει το δικό μου.

    Βασικά θα πρεπεί να πω ότι όλα γίνονται με κώδικα. Δεν μπορώ να ξέρω αν μου έχει ξεφύγει τίποτα εκεί. Υπάρχει ένα class που διαβάζει ένα datatable μέσω 3 άλλων classes από τον SQL Server. Τέλος μου δίνει αυτό το datatable μέσα από 1 public property. Αν θες κώδικα να σου φέρω αλλά είναι μερικές σελίδες. Πιστεύω ότι από την στιγμή που έχω data και το infragistics combo δουλευει σωστά, άρα τα χαμηλά classes δεν έχουν κάποιο πρόβλημα.

    Ευχαριστώ for the help

  •  29-08-2006, 12:20 16091 σε απάντηση της 16082

    Απ: Επιλογή αρχικής τιμής σε combobox που γεμίζει από dataset.

    Πρέπει να έχει να κάνει με το binding, κάνε αυτό που περιγράφω εδώ: http://www.dotnetzone.gr/cs/forums/16060/ShowPost.aspx#16060 και κατόπιν χρησιμοποίησε τη Find μέθοδο του BindingSource object.
    Vir prudens non contra ventum mingit
  •  29-08-2006, 16:37 16107 σε απάντηση της 16082

    Απ: Επιλογή αρχικής τιμής σε combobox που γεμίζει από dataset.

    Hello tsitouridi

    Αντί να χρησιμοποιήσεις το

    CB.SelectedValue="2";

    Βάλε

    CB.Value = 2;

    Έτσι αλλαζει το SelectedValue Και το Text του control.

    Ελπίζω να βοήθησα

    Νασος
    "Success is the ability to go from one failure to another with no loss of enthusiasm."
    Winston Churchill

    "Quality means doing it right when no one is looking."
    Henry Ford

  •  29-08-2006, 21:56 16114 σε απάντηση της 16107

    Crying [:'(] Απ: Επιλογή αρχικής τιμής σε combobox που γεμίζει από dataset.

    Φιλε Νασο, σωστό αυτο και μάλλον δεν το εχώ πει σωστά. Φαντάσου ότι το ID είναι GUID και το command είναι :

    cBPrintOuts.SelectedValue=PrintEvent.PrintOutID;

    Το PrintOutID είναι string και προτού βιαστείς να πεις GUID και string έκανα δοκιμή με ένα DataTable όπου το ID ήταν τύπου string και δεν έγινε τίποτα.

     

    Ευχαριστώ

  •  30-08-2006, 06:54 16128 σε απάντηση της 16114

    Απ: Επιλογή αρχικής τιμής σε combobox που γεμίζει από dataset.

    Μπορείς να μας στείλεις ένα ελάχιστο σε κώδικα παράδειγμα (δημιουργημένο από την αρχή) για να το δούμε;
    while (!dead) learn();
  •  30-08-2006, 09:22 16129 σε απάντηση της 16128

    Huh? [:^)] Απ: Επιλογή αρχικής τιμής σε combobox που γεμίζει από dataset.

    Με αυτή την class έχω την λίστα των εκτυπωτικών μου

    public class PrintOutsList : IDisposable

    {

    private DataTable DTable = new DataTable();

    public PrintOutsList()

    {

    InitDT();

    }

    #region Public Properties

    public DataTable PrintOutsTable

    {

    get { return DTable;}

    }

    #endregion

    #region Private Methods

    private void InitDT()

    {

    CoreData.DBAccess.LoadDTSTR("SELECT * FROM tblPrintOuts", DTable);

    DTable.Columns[0].ColumnMapping = MappingType.Hidden;

    DTable.Columns[2].ColumnMapping = MappingType.Hidden;

    DTable.Columns[1].Caption = "Όνομα Εκτυπωτικού";

    }

    #endregion

    }

    Στη φόρμα τώρα που επιλέγω το εκτυπωτικό έχουμε

    public partial class frmPrintEventData : _frmData

    {

    private PrintEventData PrintEvent;

    private PrintOutsList PrintList;

    public frmPrintEventData(PrintEventData printevent)

    {

    InitializeComponent();

    PrintEvent = printevent;

    InitPrintOutsList();

    InitPrintersList();

    InitValues();

    }

    private void InitPrintOutsList()

    {

    this.Cursor = Cursors.WaitCursor;

    PrintList = new PrintOutsList();

    cBPrintOuts.DisplayMember = PrintList.PrintOutsTable.Columns[1].ColumnName;

    cBPrintOuts.ValueMember = PrintList.PrintOutsTable.Columns[1].ColumnName;

    cBPrintOuts.DataSource = PrintList.PrintOutsTable;

    cBPrintOuts.SelectedValue = PrintEvent.PrintOutID;

    this.Cursor = Cursors.Arrow;

    }

  •  30-08-2006, 13:00 16136 σε απάντηση της 16129

    Απ: Επιλογή αρχικής τιμής σε combobox που γεμίζει από dataset.

    Συνημμένα: combobox.zip

    Δες το νέο συνημμένο και έλεγξε αυτό > (cBPrintOuts.SelectedValue = PrintEvent.PrintOutID;) τι τιμές έχεις ?


    while (!dead) learn();
  •  30-08-2006, 13:03 16137 σε απάντηση της 16136

    Απ: Επιλογή αρχικής τιμής σε combobox που γεμίζει από dataset.

    Για δές και αυτό:

    cBPrintOuts.DisplayMember = PrintList.PrintOutsTable.Columns[1].ColumnName;

    cBPrintOuts.ValueMember = PrintList.PrintOutsTable.Columns[1].ColumnName;

    ??? DTable.Columns[1].Caption = "Όνομα Εκτυπωτικού"; ????
    while (!dead) learn();
  •  30-08-2006, 13:16 16138 σε απάντηση της 16137

    Surprise [:O] Απ: Επιλογή αρχικής τιμής σε combobox που γεμίζει από dataset.

    cBPrintOuts.ValueMember = PrintList.PrintOutsTable.Columns[1].ColumnName;????????????????????

    Το 1 είναι το column με τα ονόματα και όχι με τα GUID, αλλά θα κανώ ένα test.

  •  30-08-2006, 13:33 16139 σε απάντηση της 16138

    Απ: Επιλογή αρχικής τιμής σε combobox που γεμίζει από dataset.

    Και στη νέα εποχή (.NET, Intellisense etc.) που ζούμε για καλά θα ήταν για όλους μας να γράφουμε κάπως έτσι:

    PrintEventDataForm αντί frmPrintEventData (Public form)

    printOutsComboBox αντί cBPrintOuts (private variable)

    printOutsDataTable αντί DTable (private variable)

    κτλ.

    Smile


    while (!dead) learn();
  •  30-08-2006, 13:38 16140 σε απάντηση της 16139

    Sad [:(] Απ: Επιλογή αρχικής τιμής σε combobox που γεμίζει από dataset.

    Σωστό, αλλά με κωδίκα 2 ετών που δεν έχω προλάβει να αλλάξω θα πρέπει να κάνω κουράγιο....

  •  31-08-2006, 17:26 16182 σε απάντηση της 16140

    Απ: Επιλογή αρχικής τιμής σε combobox που γεμίζει από dataset.

    Τελικά δεν μας είπες τι έγινε;
    while (!dead) learn();
  •  03-09-2006, 20:29 16242 σε απάντηση της 16182

    Tongue Tied [:S] Απ: Επιλογή αρχικής τιμής σε combobox που γεμίζει από dataset.

    Λοιπόν, το πρόβλημα είναι μια αβλεψία δικιά μου. Τώρα θέλω suggestion – best practices. Ενημερωτικά κάνω χρήση του combo box value change event και λογικά με το που έθετα το data source άλλαξε το value το λόγω του event, μου άλλαζε το PrintEvent.PrintOutID.

     

    private void cBPrintOuts_ValueChanged(object sender, EventArgs e)

    {

       if (cBPrintOuts.SelectedValue != null) PrintEvent.PrintOutID =cBPrintOuts.SelectedValue.ToString();

       CheckCondition();

    }

     

    Η λύση η δικιά μου είναι να μετακινήσω το event assignment μέσα στον cunstructor της φόρμας και μετά από το γέμησμα του combo box.

     

    Any better Ideas?

Σελίδα 1 από 2 (19 εγγραφές)   1 2 >
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems