Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка при работе с DataGridView 
:(
    Опции темы
Auratos
Дата 28.1.2017, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 28.1.2017

Репутация: нет
Всего: нет



Добрый день. У меня есть на главной форме кнопка, по нажатию на которую открывается другая форма. При открытии этой формы я заполняю DataGridView данными из БД.

Код

int bonus = 0;
private void ClientsLoad(int b)
        {
            CommandText = "SELECT Clients_info.Id, Clients_info.Surname+' '+Left(Clients_info.Name,1)+'.'+Left(Clients_info.Patronymic,1)+'.', Clients_info.Phone_number FROM Clients_info INNER JOIN Bonus_card ON Bonus_card.Id = Clients_info.Id_bonus_card WHERE (Clients_info.SMS_sending = 1) AND Bonus_card.Accrued_bonuses >= " + b.ToString() + " AND Bonus_card.Id > 1;";
            dataGridView1.AllowUserToAddRows = false;
            myCommand = new SqlCommand(CommandText, myConnection);
            mySqlDataAdapter = new SqlDataAdapter(myCommand);
            myDataSet = new DataSet();
            mySqlDataAdapter.Fill(myDataSet);
            if (myDataSet.Tables.Count > 0)
                dataGridView1.DataSource = myDataSet.Tables[0].DefaultView;
        }
 
private void Form_SMSSending_Load(object sender, EventArgs e)
        {
            this.Left = Screen.PrimaryScreen.Bounds.Width / 2 - this.Width / 2;
            this.Top = Screen.PrimaryScreen.Bounds.Height / 2 - this.Height / 2;
            ClientsLoad(bonus);
            if (dataGridView1.Columns.Count < 4)
                dataGridView1.Columns.Add(SMS_check);
            dataGridView1.Columns[0].Width = 45;
            dataGridView1.Columns[0].HeaderText = "№ п/п";
            dataGridView1.Columns[1].HeaderText = "ФИО";
            dataGridView1.Columns[2].HeaderText = "Телефон";
            dataGridView1.Columns[3].HeaderText = "Выбрать";
        }

Так вот, как видно из кода, у меня получается 4 столбца. Но при закрытии формы и при повторном открытии заголовки 3 и 0 столбца меняются местами. Не могу понять почему. Попробовал полностью очищать при закрытии DGV так:

Код

private void Form_SMS_Sending_FormClosing(object sender, FormClosingEventArgs e)
        {
            myDataSet.Clear();
            dataGridView1.SelectAll();
            dataGridView1.ClearSelection();
            dataGridView1.Columns.Clear();
        }

И так:
Код

private void Form_SMS_Sending_FormClosing(object sender, FormClosingEventArgs e)
        {
while (dataGridView1.Columns.Count != 0)
            {
                dataGridView1.Columns.RemoveAt(dataGridView1.Columns.Count - 1);
            }
        }

Но в таком случае повторное открытие заканчивается ошибкой на строчке:
dataGridView1.Columns[0].Width = 45;
Подскажите, пожалуйста, как исправить первую проблему и в чем загвоздка со второй? 
P.S. По поводу второй, такое ощущение, что кода я удалил все столбцы, то повторно не смог использовать эти же индексы столбцов, как при удалении записи в БД. Но с такой проблемой я еще ни разу не сталкивался
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0962 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.