Solved

easy question binding dataset to a datagrid.

Posted on 2008-06-09
11
383 Views
Last Modified: 2013-12-17
I have the following:

private void Form1_Load(object sender, EventArgs e)
        {
           
            InitialPriceReportingWS.InitialPriceReportingService s = new InitialPriceReportingWS.InitialPriceReportingService();

            ds = s.GetPriceListHeader();
            this.dataGridView1.DataSource = ds.Tables[0];
           
========> how do I do my binding.
            this.MainTabControl.TabPages.RemoveAt(2); // Error/Warning invisible until Load is completed.
            this.MainTabControl.TabPages.RemoveAt(2); // Compare invisible until compare button is pressed.


            //System.Data.DataTable dt = new System.Data.DataTable();
            //dt.Columns.Add("LastName", Type.GetType("System.String"));
            //dt.Rows.Add(new object[] { "Smith" });
            //dt.Rows.Add(new object[] { "Jones" });
            //dt.Rows.Add(new object[] { "Clark" });
            //ds.Tables.Add(dt);
            //ds.AcceptChanges();
           
        }
0
Comment
Question by:mathieu_cupryk
  • 5
  • 3
  • 3
11 Comments
 
LVL 9

Expert Comment

by:Rob Siklos
ID: 21746569
try

this.dataGridView1.DataBind();
0
 

Author Comment

by:mathieu_cupryk
ID: 21746606
Error      7      'System.Windows.Forms.DataGridView' does not contain a definition for 'DataBind'      C:\SvnWork\InitialPriceReporting\DotNet\InitialPriceReporting\Form1.cs      104      32      InitialPriceReporting
0
 
LVL 9

Expert Comment

by:sevensnake77
ID: 21746684
try this maybe this will help
using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

using System.Data.SqlClient;
 

    public class Form1 : System.Windows.Forms.Form

    {

        private System.Windows.Forms.DataGrid dataGrid1;

        private System.ComponentModel.Container components = null;
 

        public Form1()

        {

            InitializeComponent();

        }
 

        private void InitializeComponent(){

         this.dataGrid1 = new System.Windows.Forms.DataGrid();

         ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();

         this.SuspendLayout();

         this.dataGrid1.DataMember = "";

         this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;

         this.dataGrid1.Location = new System.Drawing.Point(8, 8);

         this.dataGrid1.Name = "dataGrid1";

         this.dataGrid1.Size = new System.Drawing.Size(608, 256);

         this.dataGrid1.TabIndex = 0;

         this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);

         this.ClientSize = new System.Drawing.Size(624, 272);

         this.Controls.Add(this.dataGrid1);

         this.Name = "Form1";

         this.Text = "Form1";

         this.Load += new System.EventHandler(this.Form1_Load);

         ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();

         this.ResumeLayout(false);
 

      }
 

      static void Main() {

            Application.Run(new Form1());

      }
 

      private void Form1_Load(object sender, System.EventArgs e){

         string connString = "server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI";
 

         string sql = @"select * from employee";
 

         SqlConnection conn = new SqlConnection(connString);

         SqlDataAdapter da = new SqlDataAdapter(sql, conn);

         DataSet ds = new DataSet();

         da.Fill(ds, "customers");
 

         // Bind the data table to the data grid

         dataGrid1.SetDataBinding(ds, "customers");

      }

    }

Open in new window

0
 
LVL 9

Expert Comment

by:sevensnake77
ID: 21746694
or here is another example I have within a button
private void DataSetBtn_Click(object sender, System.EventArgs e)

{

// Create a DataSet & add DataTable A and B to it

DataTable table = CreateDataTableA();

DataSet ds = new DataSet("ABSet");

ds.Tables.Add(table);

table = CreateDataTableB();

ds.Tables.Add(table);

// Bind DataSet to the DataGrid

dataGrid1.SetDataBinding(ds,"B");

}

Open in new window

0
 
LVL 9

Accepted Solution

by:
Rob Siklos earned 500 total points
ID: 21746701
Oh sorry - you don't need to do that.

Looking at the MSDN example ( http://msdn.microsoft.com/en-us/library/fbk67b6z(VS.80).aspx ) it seems that you don't need to do anything other than set the data source.  Maybe your data source is empty?
0
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 

Author Comment

by:mathieu_cupryk
ID: 21746752
remember i am using datagridview.
0
 
LVL 9

Expert Comment

by:sevensnake77
ID: 21746951
doesn't matter the same methods should apply
0
 
LVL 9

Expert Comment

by:Rob Siklos
ID: 21746974
sevensnake77:

no - I thought the same thing.  But if you look at the MSDN docs for DataGridView, it doesn't have the SetDataBinding method.


author:

can you try ResetBindings()?
0
 

Author Comment

by:mathieu_cupryk
ID: 21747136
i have this right now?

 private void Form1_Load(object sender, EventArgs e)
        {
           
            InitialPriceReportingWS.InitialPriceReportingService WS = new InitialPriceReportingWS.InitialPriceReportingService();

            ds = WS.GetPriceListHeader();
            this.dataGridView1.DataSource = ds.Tables[0];

     
            dataGridView1.DataSource = PriceListHdrBindingSource;

not rows are there but the values are not.

it is empty.
I don't have an adapter because the query is called in a webservice and information is brought back in a dataset.
0
 

Author Comment

by:mathieu_cupryk
ID: 21747143
there is no resetbindings?
0
 

Author Comment

by:mathieu_cupryk
ID: 21747292
rob, the dataset is full then when I see it on the grid I see 7 rows of 24 columns epty?
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Parsing a CSV file is a task that we are confronted with regularly, and although there are a vast number of means to do this, as a newbie, the field can be confusing and the tools can seem complex. A simple solution to parsing a customized CSV fi…
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
Both in life and business – not all partnerships are created equal. As the demand for cloud services increases, so do the number of self-proclaimed cloud partners. Asking the right questions up front in the partnership, will enable both parties …

862 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

29 Experts available now in Live!

Get 1:1 Help Now