2011-10-31 15 views
5

Probé el código de demostración en el proyecto de demostración, pero no puedo agregar un nuevo elemento con éxito. Simplemente agrega un nuevo grupo NULL y un elemento NULL. Por favor, dame un código de ejemplo simple para agregar un nuevo elemento (texto e imagen).¿Cómo agregar un nuevo elemento en ObjectListView?

¡Gracias!


¡Oh, perdón! Lo olvidé. Esta es la primera vez que participo en este sitio. Uso C#. Y el código es:

objectListView1.BeginUpdate(); 
objectListView1.AddObject(new string [] {"Hello","dfdsF" }); 
objectListView1.EndUpdate(); 

y

objectListView1.BeginUpdate(); 
OLVListItem item = new OLVListItem(new string [] {"Hello","dfdsF" }); 
objectListView1.Items.Add(item); 
objectListView1.EndUpdate(); 

Es la forma tan diferente ListView y EXListView que puedo definir un texto o una imagen cuando se crea un nuevo ítem. Pero en ObjectListView, no entiendo OBJECT?

me sale ObjectListView anh Es demostración forma de código aquí http://nchc.dl.sourceforge.net/project/objectlistview/objectlistview/v2.5/ObjectListViewFull-2.5.0.zip

+0

¿En qué idioma está esto? ¿Cuál es el código fuente para el proyecto de demostración? Necesitamos mucha más información para poder ayudarlo. Consulte las preguntas frecuentes para obtener sugerencias sobre cómo hacer preguntas aquí. –

+0

¡Oh, lo siento! Lo olvidé. Yo uso C#. Y el código es: objectListView1.BeginUpdate(); objectListView1.AddObject (nueva cadena [] {"Dfdf", "dfdsF"}); objectListView1.EndUpdate(); Obtuve el formulario de ejemplo de demostración: http://sourceforge.net/projects/objectlistview/files/latest/download –

+1

Su mejor opción es revisar la documentación detallada de inicio que se proporciona para este control: [Primeros pasos] (http://objectlistview.sourceforge.net/cs/gettingStarted.html#gettingstarted) También hay más preguntas y respuestas detalladas aquí: [Learning to cook] (http://objectlistview.sourceforge.net/cs/recipes. html # cookbook) Y un tutorial detallado sobre CodeProject: [ListView: mucho más fácil de usar] (http://www.codeproject.com/KB/list/ObjectListView.aspx) –

Respuesta

19

te mostraré qué hacer para añadir elementos. Intenta crear una clase, luego crea getters y setters para las propiedades que deseas mostrar en tu ObjectListView.

SetObjects método toma un List<T>:

public Form1() 
{ 
    InitializeComponent(); 
    this.objectListView1.SetObjects(haha.GET()); 
} 

Ahora bien, esta es mi clase, me llamaron haha, tengo dos propiedades en el mismo (Name y Detail):

class haha 
{ 
    string name; 
    string detail; 
    public haha(string name , string detail) 
    { 
     this.name = name; 
     this.detail = detail; 
    } 

    public string Name 
    { 
     get { return name; } 
     set { name = value; } 
    } 
    public string Detail 
    { 
     get { return detail; } 
     set { detail = value; } 
    } 

    static internal List<haha> GET() 
    { 
     haha item = new haha("zeko", "dunno"); 
     haha xx = new haha("sheshe", "dunno"); 
     haha ww = new haha("murhaf", "dunno"); 
     haha qq = new haha("soz", "dunno"); 
     haha ee = new haha("HELLO", "dunno"); 
     List<haha> x = new List<haha>(); 
     x.Add(item); 
     x.Add(xx); 
     x.Add(ww); 
     x.Add(qq); 
     x.Add(ee); 
     return x; 
    } 
} 

Ahora

  • cambio ShowGroups en ObjectListView a falso
  • luego agregue las columnas que desea; He añadido dos columnas, una para Name y otro para Detail
  • y como en la imagen cuando se agrega una columna, ver la AspectName y escribir exactamente el mismo nombre de su propiedad que desea mostrar de su clase

enter image description here

Aquí está el resultado:

enter image description here

Si desea utilizar AddObject(), que toma un objeto, me gustaría escribir esto:

private void button1_Click(object sender, EventArgs e) 
{ 
    haha newObject = new haha("memo","zezo"); 
    objectListView1.AddObject(newObject); 
} 

feliz de codificación :)

0

Lo mejor es utilizar una clase de entidad. Luego, haga una lista de artículos y agregue esta lista a su ObjectListView.

myObjectListView.SetObjects(myListofEntityItems); 

Pero antes de hacer eso, debe configurar las columnas en su diseñador.Simplemente agregue una columna y en el campo AspectName ingrese el nombre exacto del atributo de su elemento de entidad.

Cuestiones relacionadas