M.Bouabdallah
M.Bouabdallah

Reputation: 812

GridControl Master - Detail view with a stored procedure

My first stored procedure looks like this:

Use [Stock]
Go
Create Proc Get_Orders
AS
SELECT [Number_Order]
  ,[Date_Order]
  ,[FullName]
  ,[Location]
FROM [Order]

and my second stored procedure looks like this:

USE [Stock]
GO
ALTER Proc [dbo].[Get_Order_Res]
AS

SELECT i.Name_Item
  ,od.[ID_Order]
  ,od.[Project]
  ,od.[Length]
  ,od.[Width]
  ,od.[Quantity]
  ,od.[Weight]
  ,od.[Supplier]
  ,od.[GDS_Name]
  ,od.[GDS_Date]
  ,od.[WorkshopName]
  ,od.[WorkshopDate]
  ,od.[ReservedQty]
 FROM OdredDetails od
   INNER JOIN ItemQuantity iq 
           ON iq.ID_ItemQte = od.ID_ItemQte 
   INNER JOIN item i
           ON i.ID_Item = iq.ID_Item 
   INNER JOIN [Order] ord
           ON ord.Number_Order=od.ID_Order
 where ord.[Location]='PRODUCTION'

in my c# code, I use this code to get data from a stored procedure

        public DataTable Get_Order_Res()
    {
        DAL.DataAccessLayer DAL = new DAL.DataAccessLayer();
        DataTable dt = new DataTable();
        dt = DAL.SelectData("Get_Order_Res", null);
        DAL.Close();
        return dt;

    }
    public DataTable Get_Orders()
    {
        DAL.DataAccessLayer DAL = new DAL.DataAccessLayer();
        DataTable dt = new DataTable();
        dt = DAL.SelectData("Get_Orders", null);
        DAL.Close();
        return dt;

    }

and in my form i use this code to create master detail view

    public partial class FRM_Reserved : Form
{
BL.CLS_Order ord = new BL.CLS_Order();
DataTable master = new DataTable();
DataTable details = new DataTable();
DataSet dataSet = new DataSet();
public FRM_Reserved()
 {
InitializeComponent();      
master = ord.Get_Orders();
details = ord.Get_Order_Res();
dataSet.Tables.Add(master);
dataSet.Tables.Add(details);
dataSet.Relations.Add("OderDetails",
dataSet.Tables["master"].Columns["Number_Order"],
dataSet.Tables["details"].Columns["ID_Order"]);
gridControl3.DataSource = dataSet.Tables["master"];

but when i run the code i get error:Object reference not set to an instance of an object. image help me please,thanks in advance.

Upvotes: 0

Views: 189

Answers (1)

Shivani Katukota
Shivani Katukota

Reputation: 859

Since you havent given names to your data tables, hence when you are trying to access them then it returns null.

dataSet.Tables["master"] // this returns null

To fix this, give names to your data tables

DataTable master = new DataTable("master");
DataTable details = new DataTable("details");

Upvotes: 1

Related Questions