[Mono-dev] Patches for mono-winforms
Rob Wilkens
robwilkens at gmail.com
Sun Jun 3 01:38:35 UTC 2012
On 06/02/2012 08:55 PM, Steven Boswell II wrote:
> The EditingControlShowing event has to be called, and it has to be
> called after the control's contents have been initialized
> properly...that's not really two separate issues.
>
> The enclosed patch is an updated version; in addition to having a unit
> test, it fixes one additional bug revealed by my testing. Before,
> DataGridViewComboBoxCell.InitializeEditingControl() was setting the
> initial value from the FormattedValue property, instead of
> the initialFormattedValue parameter.
>
> I tried to write an additional unit test that worked with bound data,
> but for the life of me I can't figure out why it doesn't work. I've
> done data-binding with DataGridView before...it wasn't this
> mysterious. In my unit test, after I set the DataGridView's
> DataSource property, the data-grid doesn't initialize properly;
> instead of four rows, it ends up with one row, and all its cell values
> are null. After beating my head against the wall for several hours,
> I'm perfectly happy to be told what a moron I am, if someone will just
> tell me why the EditingControlShowingTest_Bound test doesn't work. :-)
>
> Steven Boswell
>
Not writing to call you a moron, I'm a newbie myself and i could be
wrong... But i copied and pasted your test code for
EditingControlShowingTest_Bound into Visual Studio 2010, but rather than
creating the DataGridVIew in code i placed it on the form and modified
your code to use the one on the form... And i disabled the asserts...
And from what i can tell it runs fine in both .net and mono (that is,
the data grid view populates).
One thing that I noticed about your code, though, is it depends on a
'showing' event..
And i wonder if that means your datagridview needs to be placed on a
form which is displayed, so that it is actually shown...
i.e. change your code something like this:
using (Form Form1=new Form()){
Form1.Controls.Add(_dataGridView);//optionaly set sizeand location
of both gridview and form
Form1.Show();
... insert the rest of your code here ....
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20120602/670fd243/attachment.html>
More information about the Mono-devel-list
mailing list