Search Results

Search found 1 results on 1 pages for 'kempeth'.

Page 1/1 | 1 

  • Visual Studio Designer looses / ignores data

    - by Kempeth
    I'm writing my own control - a datagridviewcolumn that displays integer values as texts like the comboboxcolumn can but without showing the combobox unless the cell is edited. I'm mostly there but I have problems with the databinding. I managed to get the necessary properties to appear in the designer but every time I set the datasource and close the editor the changes are dropped. When I assign the same datasource later in code it works like a charm, I just would prefer not having to do that... public class DataGridViewLookupColumn : DataGridViewColumn { private DataGridViewLookupCell template; private Object datasource = null; private String displaymember = String.Empty; private String valuemember = String.Empty; private BindingSource bindingsource = new BindingSource(); public DataGridViewLookupColumn() : base() { this.template = new DataGridViewLookupCell(); } public override DataGridViewCell CellTemplate { get { return this.template; } set { } } [Category("Data")] [ DefaultValue(null), RefreshProperties(RefreshProperties.Repaint), AttributeProvider(typeof(IListSource)), DesignerSerializationVisibility(DesignerSerializationVisibility.Visible), ] public object DataSource { get { return this.bindingsource.DataSource; //return this.datasource; } set { this.bindingsource.DataSource = value; this.bindingsource.EndEdit(); } } [Category("Data")] [ DefaultValue(""), TypeConverterAttribute("System.Windows.Forms.Design.DataMemberFieldConverter, System.Design"), Editor("System.Windows.Forms.Design.DataMemberFieldEditor, System.Design", typeof(System.Drawing.Design.UITypeEditor)), DesignerSerializationVisibility(DesignerSerializationVisibility.Visible), ] public String DisplayMember { get { return this.displaymember; } set { this.displaymember = value; } } [Category("Data")] [ DefaultValue(""), TypeConverterAttribute("System.Windows.Forms.Design.DataMemberFieldConverter, System.Design"), Editor("System.Windows.Forms.Design.DataMemberFieldEditor, System.Design", typeof(System.Drawing.Design.UITypeEditor)), DesignerSerializationVisibility(DesignerSerializationVisibility.Visible), ] public String ValueMember { get { return this.valuemember; } set { this.valuemember = value; } } } EDIT: I experimenting I just found out that that original DataGridViewComboBoxColumn can be made to behave exactly like I wanted to. By setting the DisplayStyle to Nothing the combobox control is only shown in edit mode.

    Read the article

1