J'ai un éditeur de collection personnalisé et je veux ajouter par programme des éléments à sa liste (collection) afin qu'ils puissent être visibles dans une liste. Comment je peux faire ça? Je connais la méthode AddItems de CollectionEditor, mais elle prend l'objet collection comme paramètre, mais je n'arrive pas à trouver l'objet liste interne de CollectionEditor ...:/Comment ajouter par programme des éléments à la liste/collection/collection de CollectionEditor? [modifié]
[update] Ugh .. le nom de la méthode appropriée est '' setItems [/ mise à jour]
[mise à jour 2] code source de ce que je suis en train de faire ...
public class MyCollectionEditor : CollectionEditor
{
private Type m_itemType = null;
public MyCollectionEditor(Type type)
: base(type)
{
m_itemType = type;
}
protected override CollectionForm CreateCollectionForm()
{
Button buttonLoadItem = new Button();
buttonLoadItem.Text = "Load from DB";
buttonLoadItem.Click += new EventHandler(ButtonLoadItem_Click);
m_collectionForm = base.CreateCollectionForm();
TableLayoutPanel panel1 = m_collectionForm.Controls[0] as TableLayoutPanel;
TableLayoutPanel panel2 = panel1.Controls[1] as TableLayoutPanel;
panel2.Controls.Add(buttonLoadItem);
return m_collectionForm;
}
private void ButtonLoadItem_Click(object sender, EventArgs e)
{
if (m_itemType.Equals(typeof(MyCustomCollection)))
{
MyCustomItem item = ...load from DB...
//definition: SetItems(object editValue, object[] value);
SetItems(-> what goes here?! <- , new object[] { item });
}
}
}
[/ mise à jour 2]
+1 pour poster une mise à jour pour expliquer sa solution !!! Maintenant, nous verrons si cela fonctionne pour moi ...;) – IAbstract