2009-12-18 62 views
2

我有通过数据集HOWTO绑定bindingnavigator到datagridview的

public DataSet getDataSet(string query) 
    { 
     DataSet ds = new DataSet(); 
     OleDbDataAdapter da1 = new OleDbDataAdapter(query, sybaseconn); 
     OleDbCommand cmd1 = new OleDbCommand(query, sybaseconn); 
     cmd1.CommandType = CommandType.StoredProcedure; 
     da1.SelectCommand = cmd1; 
     da1.Fill(ds, "tbl"); 
     da1.Dispose(); 
     da1 = null; 
     SybaseconnClose(); 
     return ds; 
    } 

这工作得很好,从数据库中提取数据的功能。选择的列是“Nr”和“备注” 我在下一个函数中调用这个函数。 我的datagridview将与数据集绑定。

private void LoadData() 
    { 
    dataGridView1.DataSource = null; 
    Application.DoEvents(); 
    TTT3Dal awdal = new TTT3Dal(); 
    DataSet dsAWIA = awdal.getDataSet("select_tbl"); 
    awdal.dsTTT3 = dsAWIA; 
    dataGridView1.DataSource = dsAWIA.Tables["tbl"].DefaultView; 
    bindingSource1.DataMember = "tbl"; 
    //dataGridView1.DataBindings.Add("Text", bindingSource1, "nr"); 
} 

这工作得很好。 在表单中我调用了最后一个函数和bindingNavigator。

public Form1() 
    { 
    InitializeComponent(); 
    LoadData(); 
    bindingNavigator1.BindingSource = bindingSource1; 
    } 

工作正常,但如果我去掉这条线
//dataGridView1.DataBindings.Add("Text”,bindingSource1, “NR”); 我收到此错误

无法绑定到DataSource上的属性或列nr。 参数名称:数据成员

我试图通过将线

dataGridView1.DataMember = “TBL” 来解决此;

但后来我得到的错误不能创建现场TBL

儿童名单。

可能有人请帮我解决这个,帮我在DataGridView绑定到bindingnavigator

回答

3

没关系,我的下一个代码

private void LoadData() 
    { 
    dataGridView1.DataSource = null; 
    TTT3Dal awdal    = new TTT3Dal(); 
    DataSet dsAWIA    = awdal.getDataSet("select_tbl"); 
    awdal.dsTTT3    = dsAWIA; 

    BindingNavigator _bindnav = new BindingNavigator(true); 
    bindingSource1.DataSource = dsAWIA; 
    bindingNavigator1.BindingSource = bindingSource1; 

    dataGridView1.DataSource = bindingSource1; 
    } 
解决它