2010-05-09 655 views
10

Me gustaría vincular un ListView a un List<string>. Estoy usando este código:¿Es posible enlazar una Lista a un ListView en WinForms?

somelistview.DataBindings.Add ("Items", someclass, "SomeList"); 

que estoy recibiendo esta excepción: no puede obligar a la propiedad 'Artículos', ya que es de sólo lectura.

No sé cómo debo enlazar si la propiedad Items es de solo lectura?

Respuesta

11

La clase ListView no admite el enlace de tiempo de diseño. Se presenta una alternativa en this project.

0

Alternativamente, se puede utilizar DataGridView si desea que el enlace de datos. El uso de BindingList y BindingSource actualizará su DataGrid cuando se agregue un nuevo elemento a su lista.

var barcodeContract = new BarcodeContract { Barcode = barcodeTxt.Text, Currency = currencyTxt.Text, Price = priceTxt.Text }; 

     list.Add(barcodeContract); 
     var bindingList = new BindingList<BarcodeContract>(list); 
     var source = new BindingSource(bindingList, null); 
     dataGrid.DataSource = source; 

y el modelo de datos de clase

public class BarcodeContract 
{ 
    public string Barcode { get; set; } 
    public string Price { get; set; } 
    public string Currency { get; set; } 
} 
+0

Hola @ozgur, una pregunta sobre tu código. ¿Dónde se especifican los encabezados en la cuadrícula de datos? Quiero decir, ¿cómo se indica que la columna 1 es Código de barras, la columna 2 es Precio, y así sucesivamente? – Apalabrados

Cuestiones relacionadas