<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"><base href="x-msg://1445/"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Landon,<div><br></div><div>Sounds to me like you aren't holding a reference to your DataSource instance, so it is getting garbage collected on the Mono side of things.  Mono is trying to call that non-existant constructor when it's trying to re-create the object from it's Objective-C peer.</div><div><br></div><div>Change your code to something like this:</div><div><br></div><div>DashboardReportDataSource datasource;</div><div><br></div><div>public override void LoadView ()<br>{<br>    base.LoadView ();</div><div>    datasource = new DashboardReportDataSource();</div><div>    tblDashboardReport.DataSource = datasource; <br>}</div><div><br></div><div>Jon..</div><div><br></div><div><div><div>On Mar 1, 2013, at 11:08 AM, Landon Campbell <<a href="mailto:campbelllandon@hotmail.com">campbelllandon@hotmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div class="hmmessage" style="font-size: 12pt; font-family: Calibri; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div dir="ltr">Hi everybody,<div><br></div><div>I'm a MonoMac noob, and I'm trying to get an NSTableView to work in my application. I followed two examples to implement my solution:</div><div><br></div><div><ul><li><a href="http://www.milkcarton.com/blog/2010/07/05/Databinding+To+An+NSTableView+With+A+MonoMac+App.aspx">http://www.milkcarton.com/blog/2010/07/05/Databinding+To+An+NSTableView+With+A+MonoMac+App.aspx</a></li><li><a href="http://www.netneurotic.net/Mono/MonoMac-NSTableView.html">http://www.netneurotic.net/Mono/MonoMac-NSTableView.html</a></li></ul><div><br></div></div><div>I created a datasource class according to these articles, and my NSTableView loads the data without any problem. Here's the basic code:</div><div><br></div><div><u>DataSource class:</u></div><div><div>[Register("TableViewDataSource")]</div><div>public class DashboardReportDataSource : NSTableViewDataSource</div><div>{</div><div>    private List<Reseller> _resellers;</div><div><br></div><div>    public DashboardReportDataSource ()</div><div>    {</div><div><span style="font-size: 12pt; ">        var domainRepository = new DomainRepository();</span></div><div><span class="Apple-tab-span" style="white-space: pre; ">  </span><span style="font-size: 12pt; ">_resellers = domainRepository.GetClientResellers(161);</span></div><div>    }</div><div><br></div><div>    [Export("numberOfRowsInTableView:")]</div><div>    public int NumberOfRowsInTableView (NSTableView tableView)</div><div>    {</div><div>        if (_resellers == null) {</div><div><span class="Apple-tab-span" style="white-space: pre; ">    </span>    return 0;</div><div><span class="Apple-tab-span" style="white-space: pre; ">      </span>else {</div><div><span class="Apple-tab-span" style="white-space: pre; ">    </span>    return _resellers.Count;</div><div><span class="Apple-tab-span" style="white-space: pre; ">       </span>}</div><div>    }</div><div><br></div><div>    [Export("tableView:objectValueForTableColumn:row:")]</div><div>    public NSObject objectValueForTableColumn (NSTableView aTableView, NSTableColumn aTableColumn, int rowIndex)</div><div>    {</div><div>        switch (aTableColumn.Identifier.ToString()){</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span>    case "colProductId" :</div><div><span class="Apple-tab-span" style="white-space: pre; ">        </span>        return new NSString(_resellers[rowIndex].Id.ToString());</div><div>            case "colResellerId" :</div><div><span class="Apple-tab-span" style="white-space: pre; ">        </span>        return new NSString(_resellers[rowIndex].Name);</div><div><span class="Apple-tab-span" style="white-space: pre; ">  </span>    default:</div><div><span class="Apple-tab-span" style="white-space: pre; ">       </span>        return new NSString("");</div><div>         }</div><div>    }</div><div>}</div></div><div><br></div><div><u>Populate table in my custom NSView class</u>:</div><div><div>public override void LoadView ()</div><div><span style="font-size: 12pt; ">{</span></div><div>    base.LoadView ();</div><div><span style="font-size: 12pt; ">    tblDashboardReport.DataSource = new DashboardReportDataSource();</span></div><div>}</div></div><div><br></div><div>My domain repository calls SQL Server and populates the generic list. Like I said, the load is fine (actually super-fast), but if I scroll to the bottom of my table view, then start to scroll back up, the app crashes, every single time. This is the error I'm getting:</div><div><span style="font-family: 'Courier New'; font-size: 10pt; "><br></span></div><div><span style="font-family: 'Courier New'; font-size: 10pt; ">System.MissingMethodException: No constructor found for DashboardReportDataSource::.ctor(System.IntPtr)</span></div><div><div><font face="Courier New" size="2">  at System.Activator.CreateInstance (System.Type type, BindingFlags bindingAttr, System.Reflection.Binder binder, System.Object[] args, System.Globalization.CultureInfo culture, System.Object[] activationAttributes) [0x000fd] in /Users/builder/data/lanes/mono-mac-ui-refresh-2-10/2baeee2f/source/bockbuild/profiles/mono-2-10/build-root/mono-2.10.11/_build/mono-2.10.11.git/mcs/class/corlib/System/Activator.cs:280</font></div><div><font face="Courier New" size="2">  at System.Activator.CreateInstance (System.Type type, System.Object[] args, System.Object[] activationAttributes) [0x00000] in /Users/builder/data/lanes/mono-mac-ui-refresh-2-10/2baeee2f/source/bockbuild/profiles/mono-2-10/build-root/mono-2.10.11/_build/mono-2.10.11.git/mcs/class/corlib/System/Activator.cs:234</font></div><div><font face="Courier New" size="2">  at System.Activator.CreateInstance (System.Type type, System.Object[] args) [0x00000] in /Users/builder/data/lanes/mono-mac-ui-refresh-2-10/2baeee2f/source/bockbuild/profiles/mono-2-10/build-root/mono-2.10.11/_build/mono-2.10.11.git/mcs/class/corlib/System/Activator.cs:229</font></div><div><font face="Courier New" size="2">  at MonoMac.ObjCRuntime.Runtime.GetNSObject (IntPtr ptr) [0x00000] in <filename unknown>:0</font></div><div><font face="Courier New" size="2">  at MonoMac.ObjCRuntime.NSObjectMarshaler`1[MonoMac.Foundation.NSObject].MarshalNativeToManaged (IntPtr handle) [0x00000] in <filename unknown>:0</font></div><div><font face="Courier New" size="2">  at (wrapper native-to-managed) object:[DashboardReportDataSource:MonoMac.Foundation.NSObject objectValueForTableColumn(MonoMac.AppKit.NSTableView, MonoMac.AppKit.NSTableColumn, Int32)] (MonoMac.Foundation.NSObject,MonoMac.ObjCRuntime.Selector,MonoMac.AppKit.NSTableView,MonoMac.AppKit.NSTableColumn,int)</font></div><div><font face="Courier New" size="2">  at (wrapper managed-to-native) MonoMac.AppKit.NSApplication:NSApplicationMain (int,string[])</font></div><div><font face="Courier New" size="2">  at MonoMac.AppKit.NSApplication.Main (System.String[] args) [0x00000] in <filename unknown>:0</font></div><div><font face="Courier New" size="2">  at BPA.UI.Mono.Mac.MainClass.Main (System.String[] args) [0x00005] in /Users/User/Projects/Repositories/BPA.UI.Mono/BPA.UI.Mono.Mac/Main.cs:14</font></div></div><div><br></div><div>Seems like an odd issue, since it claims the class doesn't have a constructor, which it obviously does. I could really use some help -- does anybody have any idea what I'm doing wrong?</div><div><br></div><div>System:</div><div>Mono 2.10.11</div><div>MonoDevelop 3.1.1</div><div>XCode 4.6</div><div>Lastest MonoMac add-in (Xamarin.Mac 3.1.1, open-source)</div><div>Mac OS X Lion (running in VMWare Player)</div><div><br></div><div>Thanks for you help,</div><div>Landon</div></div>_______________________________________________<br>Mono-osx mailing list<br><a href="mailto:Mono-osx@lists.ximian.com">Mono-osx@lists.ximian.com</a><br><a href="http://lists.ximian.com/mailman/listinfo/mono-osx">http://lists.ximian.com/mailman/listinfo/mono-osx</a><br></div></blockquote></div><br></div></body></html>