ToolBar и DataGrid
От: LinoGE Украина http://users.livejournal.com/_linoge_/
Дата: 12.04.05 06:31
Оценка:
Здравствуйте уважаемые форумцы.
У меня такая ситуация.
Создаю я на форме элементы управления для работы с БД: 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
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.