using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace JYMaterMangerSystem
{
    public partial class Form2 : Form
    {
        SqlDataAdapter dapd;
        SqlDataAdapter dast;
        DataSet ds, dsStyle;
        data dt = new data();        public Form2()
        {
            //dapd = dt.Da("select * from JY_Material");
            ds = dt.Ds("select * from JY_Material", "JY_Material");            InitializeComponent();
        }        private void Form2_Load(object sender, EventArgs e)
        {  
          // SqlCommandBuilder cm = new SqlCommandBuilder(ds);
         //  SqlCommandBuilder cm1 = new SqlCommandBuilder(dast);
           dataGridView1.DataSource = ds;
           dataGridView1.DataMember = "JY_Material";
           dataGridView1.DataSource = ds.Tables[0];
           dgvhead();
        }
        void dgvhead()
        {
            dataGridView1.Columns[0].HeaderText = "编号";
            dataGridView1.Columns[1].HeaderText = "物料id";
            dataGridView1.Columns[2].HeaderText = "物料编码";
           // dataGridView1.Columns[0].ReadOnly = true;
            dataGridView1.Columns[3].HeaderText = "名称";
            dataGridView1.Columns[4].HeaderText = "规格";
            dataGridView1.Columns[5].HeaderText = "颜色";
            dataGridView1.Columns[6].HeaderText = "单位";
            dataGridView1.Columns[7].HeaderText = "生产厂家";
            dataGridView1.Columns[8].HeaderText = "备注";
           // dataGridView1.Columns[8].DefaultCellStyle.Format = "C";
           // dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
        }
    }
}
它总是报我:在调用“Fill”前,SelectCommand 属性尚未初始化。那个东西要在那初识话,怎么初识化呢,

解决方案 »

  1.   

    dataGridView1.DataSource = ds;
               dataGridView1.DataMember = "JY_Material";
               dataGridView1.DataSource = ds.Tables[0];
    1.这三句莫明其妙,只需要保留第三句,dgv就可以正常工作了,其他两句是费话。ds = dt.Ds("select * from JY_Material", "JY_Material");
    2.没有初始化SelectCommand的原因,你把Ds()的实现代码贴出来就应该清楚了。
      

  2.   

    楼主你是不是只发帖不看贴?你这个问题上次已经帮你解决了,你自己去看看原贴吧:
    http://topic.csdn.net/u/20080805/17/fce7f0cc-4566-47c8-b75b-aeb98dc1fb2f.html
      

  3.   

    算了,干脆把上次的答案再给你发一遍:
    C# code    public Form2() { dapd = dt.Da("select * form JY_Material"); InitializeComponent(); }
    应改为:C# code    public Form2() { InitializeComponent(); dapd = dt.Da("select * form JY_Material"); }
    应该先初始化窗体中的控件,再执行你的操作,不然控件还没有初始化,你就对其进行操作,当然就会出错了