Hi,
I'm trying to bind a DataGridView to a DataSet that I am creating
through code. However when I try to create the DataSet my app dies on
my. This is extremely tough for me to debug because my app is hosted
in another program (AutoCAD) and it raises an memory error and crashes
AutoCAD, with no .NET exceptions. Below is the code I'm using to
create the dataset. Can anyone give me any tips one what I'm doing
wrong? It would be greatly appreciated.
code:
class completebom:
public ds as System.Data.DataSet
def constructor():
pass
def MakeDataTables():
MakeBomTable()
def MakeBomTable():
dt as System.Data.DataTable = System.Data.DataTable("ebom")
//Create the Qty Column
colQty as System.Data.DataColumn
colQty.DataType = System.Type.GetType("System.Int32")
colQty.ColumnName = "qty"
colQty.Caption = "Qty"
colQty.ReadOnly = false
colQty.Unique = false
dt.Columns.Add(colQty)
//Create the CatalogNo Column
colCat as System.Data.DataColumn
colCat.DataType = System.Type.GetType("System.String")
colCat.ColumnName = "catalogno"
colCat.Caption = "Catalog No."
colCat.ReadOnly = false
colCat.Unique = true
dt.Columns.Add(colCat)
//Create the PartNo Column
colPart as System.Data.DataColumn
colPart.DataType = System.Type.GetType("System.String")
colPart.ColumnName = "partno"
colPart.Caption = "Part No."
colPart.ReadOnly = false
colPart.Unique = true
dt.Columns.Add(colPart)
//Create the Description Column
colDesc as System.Data.DataColumn
colDesc.DataType = System.Type.GetType("System.String")
colDesc.ColumnName = "description"
colDesc.Caption = "Description"
colDesc.ReadOnly = false
colDesc.Unique = false
dt.Columns.Add(colDesc)
//Create the Length Column
colBlen as System.Data.DataColumn
colBlen.DataType = System.Type.GetType("System.Single")
colBlen.ColumnName = "blength"
colBlen.Caption = "Length"
colBlen.ReadOnly = false
colBlen.Unique = false
dt.Columns.Add(colBlen)
//Create the Width Column
colBwid as System.Data.DataColumn
colBwid.DataType = System.Type.GetType("System.Single")
colBwid.ColumnName = "bwidth"
colBwid.Caption = "Width"
colBwid.ReadOnly = false
colBwid.Unique = false
dt.Columns.Add(colBwid)
//Create the Remark Column
colRem as System.Data.DataColumn
colRem.DataType = System.Type.GetType("System.String")
colRem.ColumnName = "remark"
colRem.Caption = "Remark"
colRem.ReadOnly = false
colRem.Unique = true
dt.Columns.Add(colRem)
//Create the Revision Column
colRev as System.Data.DataColumn
colRev.DataType = System.Type.GetType("System.String")
colRev.ColumnName = "revision"
colRev.Caption = "Revision"
colRev.ReadOnly = false
colRev.Unique = false
dt.Columns.Add(colRev)
ds.Tables.Add(dt)
From there I am trying to bind the dataset to a DataGridView via code like this:
namespace ks_ebom
import System
import System.Drawing
import System.Windows.Forms
import System.Data
partial public class frm_ebom:
bomParts as int = 1
public dbinter = externaldatabase()
public combom as completebom
public def constructor():
//
// The InitializeComponent() call is required for Windows Forms
designer support.
//
InitializeComponent()
combom.MakeBomTable()
self.dgvMainBom.DataSource = combom.ds