Försöker få igång en enkel (tycker jag) test på comboBox:
for (int i = 0; i < 10; i++)
{
Jobs n = new Jobs();
n.bob = "hej" + i;
n.bobar = i;
m.Add(n);
}
comboBox1.ValueMember = "bob";
comboBox1.DisplayMember = "bobar";
comboBox1.DataSource = m;
Men får bara projektnamn.Jobs som DisplayMember... vad gör jag för fel?
Du kanske måste säga till DataSource:n vad m är för datatyp array?
t.ex. comboBox1.DataSource = (Jobs[])m.ToArray(typeof(Jobs));
om det är en ArrayList.
är en arraylist... saken är att den klarar spara:
namn.Jobs i rull listan 10x som loopen säger...
samma resultat med din kod ;)
cokMedlem sedan dec. 2005664 inlägg Bör du inte overida, ToString på Jobs?
cok skrev:
Bör du inte overida, ToString på Jobs?
fungera... men problemet är att få reda på "bobar" dvs ett ID nummer...
cokMedlem sedan dec. 2005664 inlägg Overida equal med det värde du vill ska jämnföras.
Detta fungerar utmärkt konstigt att du får fel då.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
ArrayList arrayList = new ArrayList();
//for (int i = 0; i < 10; i++)
// arrayList.Add(new TestObject(i, "Test "+i.ToString()));
for (int i = 0; i < 10; i++)
{
TestObject t = new TestObject(i, "Test "+i.ToString());
arrayList.Add(t);
}
/*
arrayList.Add(new TestObject(0, "Test 0"));
arrayList.Add(new TestObject(1, "Test 1"));
arrayList.Add(new TestObject(2, "Test 2"));
arrayList.Add(new TestObject(3, "Test 3"));
arrayList.Add(new TestObject(4, "Test 4"));
*/
this.comboBox1.DataSource = arrayList;
this.comboBox1.DisplayMember = "View";
this.comboBox1.ValueMember = "ID";
}
class TestObject
{
private int _intId;
private string _strView;
public TestObject(int id, string view)
{
this._intId = id;
this._strView = view;
}
public int ID
{
get
{
return this._intId;
}
}
public string View
{
get
{
return this._strView;
}
}
}
}
}
Kan du inte ge lite mer info av din kod?
public override bool Equals(object obj)
{
return base.Equals(ShortName);
}
??
voigtann1 skrev:
public override bool Equals(object obj)
{
return base.Equals(ShortName);
}
??
Tycker det låter som en dålig lösning
Nickemannen: fungera kanon nu ;)
Hur gör jag att när man väljer i coboboxen så skrivs ID nummer ut i en textbox? på ett "bra" sätt.. dvs första valet ska alltid vara default värdet..
dvs test0 med ID = 0
Lyssna på eventen SelectedIndexChanged eller SelectedValueChanged och sätt värdet på textboxen me SelectedValue från Comboboxen, kan vara bra att göra en säkerhetskoll så att SelectedValue inte är null eller innehåller något annat som inte ska visas.