J'ai une fonction pour récupérer des données à partir d'une base de données via un ensemble de donnéesHowto se lient 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;
}
Cela fonctionne très bien. Les colonnes sélectionnées sont "Nr" et "Remark" J'appelle cette fonction dans la fonction suivante. Mon datagridview sera lié à l'ensemble de données.
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");
}
Cela fonctionne également bien. Dans le formulaire j'appelle la dernière fonction et le bindingNavigator.
public Form1()
{
InitializeComponent();
LoadData();
bindingNavigator1.BindingSource = bindingSource1;
}
fonctionne très bien mais si je décommentez cette ligne
//dataGridView1.DataBindings.Add("Text », bindingSource1, "nr"); Je reçois cette erreur
Impossible de lier la propriété ou la colonne nr sur le DataSource. Nom du paramètre: DataMember
j'ai essayé de résoudre ce problème en ajoutant la ligne
dataGridView1.DataMember = "TBL";
Mais je reçois l'erreur
liste des enfants pour TBL sur le terrain ne peut pas être créé.
Quelqu'un pourrait-il me s'il vous plaît aider à résoudre cela et me aider à lier le datagridview à la BindingNavigator