2010-12-20 140 views

Respuesta

1

Conjunto del DataTextField y DataValueField

ListBox a = new ListBox(); 
a.DataTextField = "username"; 
a.DataValueField = "userid"; 

añadir usando .Add método que puede utilizar:

a.Items.Add(new ListItem() { Value = User.ID, Text = User.Name }); 
8

Usted puede utilizar la propiedad DisplayMember del cuadro de lista.

listbox.DisplayMember = "username"; 

También hay una propiedad equivalente para definir el valor real, que podría utilizar para recuperar el ID de usuario. Por ejemplo, si define la lista de la siguiente manera:

listbox.DisplayMember = "username"; 
listbox.ValueMember = "userid"; 
var item1 = new MyType { username = "user1", userid = "id1" }; // Create an item for the list 

listbox.Items.Add(item1); // Add the item 
listbox.SelectedIndex = 0; // Selects the first item 

A continuación, puede hacer referencia a los objetos en la lista de 3 formas diferentes (elemento, el valor o texto) como este:

MyObject newItem = (MyObject) listbox.SelectedItem; // Gets the selected MyType 
// OR 
string username = listbox.Text; // Gets the selected user name using the DisplayMember property of the listbox 
// OR 
string userid = listbox.SelectedValue; // Gets the selected user's userid using the ValueMember property of the listbox 

También puede ajustar el elemento seleccionado los mismos 3 maneras diferentes:

listbox.SelectedItem = item1; 
// OR 
listbox.Text = item1.username; 
// OR 
listbox.SelectedValue = item1.userid; 
27

puede utilizar los DisplayMember y ValueMember propiedades para mostrar la propiedad de UserName su objeto y utilizar su propiedad UserId como el valor de lista de elementos:

class YourItem 
{ 
    public string UserName { get; set; } 
    public string UserId { get; set; } 
} 

yourListBox.DisplayMember = "UserName"; 
yourListBox.ValueMember = "UserId"; 

yourListBox.Items.Add(new YourItem { 
    UserName = "FooName", 
    UserId = "FooId" 
}); 
0

Puede reemplazar el método "ToString".

class User 
{ 
    public string username { set; get; } 
    public string userid { set; get; } 

    public override string ToString() 
    { 
     return username; 
    } 
} 
Cuestiones relacionadas