Здравствуйте уважаемые форумцы.
У меня такая ситуация.
Создаю я на форме элементы управления для работы с БД: odbcConnection, odbcDataAdapter (в нем в SelectCommand вставляю запрос) и DataSet.
В дизайнере создаю таблицу и поля в датасете.
Затем ставлю на форму DataGrid. В нем я создаю стиль для таблицы и для колонок, мапплю их на поля в датасете.
DataGrid'у указываю в качестве DataSource'a таблицу из датасета и все работает.
Функции-обработчику события клика на кнопке пишу примерно следующее:
// Работает
private void button1_Click(object sender, System.EventArgs e)
{
odbcConnection1.Open();
dataSet1.Clear();
odbcDataAdapter1.Fill(dataSet1,"Users");
odbcConnection1.Close();
}
НО, если я тоже самое прописываю на обработчик события клика по toolBar'у, вот так примерно:
// Не работает
private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
odbcConnection1.Open();
dataSet1.Clear();
odbcDataAdapter1.Fill(dataSet1,"Users");
odbcConnection1.Close();
}
То получаю эксепшн в тот момент, когда перехожу на другую строку в гриде. Эксепшн, не помню дословно, в общем смысл в том, что инстанса объекта нету, а я пытаюсь к нему обратится. В общем, не помню точно. Подробнее что проиходит:
Жму я на тулбар, грид заполняется. Как только я перехожу на пустую строку в гриде, ну на новую строчку, которая внизу, то заполненные поля грида обнуляются (у всех полей значения становятся (null) ) и я получаю эксепшн.
В чем прикол, ребята, ей Богу не пойму

Я думал что-то не так с датасетом делаю, или еще с чем-то. Но что дело из-за тулбара!?!?!
А, еще, вот этот код на тулбаре работает:
// Сейчас внимание :)
// Работает
private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
odbcConnection1.Open();
dataSet1.Clear();
odbcDataAdapter1.Fill(dataSet1,"Users");
dataSet1.Clear();
odbcDataAdapter1.Fill(dataSet1,"Users");
odbcConnection1.Close();
}
И что оно вот это такое, не пойму.
12.04.05 10:59: Перенесено модератором из '.NET' — AndrewVK