I'm trying to bind a SAS Library to a DataGridView object in an EG Custom Task (VB.NET Express 2010 + EG 5.1). I'm currently using the following code:
Public Overrides Function Show(ByVal Owner As _
System.Windows.Forms.IWin32Window) As _
SAS.Shared.AddIns.ShowResult
Dim server As String = String.Format("{0}", Consumer.ActiveData.Server)
Dim libref As String = String.Format("{0}", Consumer.ActiveData.Library)
Dim member As String = String.Format("{0}", Consumer.ActiveData.Member)
Dim dlg As WhereViewerForm = New WhereViewerForm(settings)
' set Active Data
dlg.TextServer.Text = server
dlg.TextLibref.Text = libref
dlg.TextMember.Text = member
dlg.DataGridView.DataSource = New SasLibrary(server, libref)
dlg.DataGridView.DataMember = member
' show form
If (DialogResult.OK = dlg.ShowDialog(Owner)) Then
' save the settings from the form
settings = dlg.Settings
Return ShowResult.RunNow
Else : Return ShowResult.Canceled
End If
End Function
I get the following error message:
Exception Details:
----------------------------------------
Exception type: System.ArgumentException
Message: Child list for field CARS cannot be created.
Source: System.Windows.Forms
Target Site: EnsureListManager
Stack Trace:
at System.Windows.Forms.BindingContext.EnsureListManager(Object dataSource, String dataMember)
at System.Windows.Forms.DataGridView.DataGridViewDataConnection.SetDataConnection(Object dataSource, String dataMember)
at System.Windows.Forms.DataGridView.set_DataMember(String value)
at WhereViewer.WhereViewer.Show(IWin32Window Owner)
at SAS.Tasks.Toolkit.SasTask.ShowDialog(IWin32Window Owner, ViewType PreferredView)
at SAS.Shared.AddIns.Management.AddInProxy.ShowDialog(IWin32Window Owner, ViewType PreferredView)
at SAS.EG.ProjectElements.EGTask.Show(IWin32Window Owner)
at SAS.EG.MainForm.AddTask(Guid taskGuid, Element inputData, Boolean bIsWizard, String xml, String templateName, String templateNameFullPath)
at SAS.EG.MainForm.LaunchTask(Element target, Guid taskGuid, Boolean bIsWizard, String xml, String templateName, String templateNameFullPath)
at SAS.EG.MainForm.OnTaskClick(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
I know I'm using the wrong method for allocating the library.member to the DataGridView, but what should I use instead? .....................Phil
... View more