Как отсортировать данные datagridview.когда я нажимаю заголовок столбца в приложении C# windows
У меня есть datagridview в этой кнопке редактирования и удаления.Я загружаю
datagridview из таблицы базы данных.И я нажимаю объекте datagridview кнопку Изменить соответствующие данные показаны в соответствующие текстовые поля нормально.и я нажмите кнопку отправить, данные кнопка сохранения в базе данных и показ объекта datagridview.Для этого используется datagridview cellcontent click event.что я хочу, так это если я нажму на заголовок столбца id в datagridview, данные должны быть отсортированы.Как это сделать.Я получаю аргумент out of Range Exception "Index out of range Exception".Плаз, помоги мне в этом.
Что я уже пробовал:
<blockquote class="quote"><div class="op">Quote:</div> private void dgvwDtls_CellContentClick(object sender, DataGridViewCellEventArgs e) { ChqMngrBsns.Masters.BankInfo bnkinfo = new ChqMngrBsns.Masters.BankInfo(); bnkid = Convert.ToInt32(dgvwDtls.Rows[e.RowIndex].Cells["bankid"].Value); if (dgvwDtls.Columns[e.ColumnIndex].Name == "Edit" && e.RowIndex >= 0) { txtBnknm.Text = dgvwDtls.Rows[e.RowIndex].Cells["bankname"].Value.ToString(); string CTS = dgvwDtls.Rows[e.RowIndex].Cells["Chequetype"].Value.ToString(); if (CTS == "True") { rbchqtype1.Checked = true; } else if (CTS == "False") { rbchqtype2.Checked = true; } txtAcntno.Text = dgvwDtls.Rows[e.RowIndex].Cells["Accountno"].Value.ToString(); cmbAcntype.Text = dgvwDtls.Rows[e.RowIndex].Cells["Accounttype"].Value.ToString(); Isinsert = false; } else if (dgvwDtls.Columns[e.ColumnIndex].Name == "Delete" && e.RowIndex >= 0) { bnkid = Convert.ToInt32(dgvwDtls.Rows[e.RowIndex].Cells["bankid"].Value); DialogResult dr = MessageBox.Show("Are you sure to delete row?", "Confirmation", MessageBoxButtons.YesNo); if (dr == DialogResult.Yes) { bnkinfo.DeleteData(bnkid); } else if (DialogResult == DialogResult.No) { MessageBox.Show("Nothing Deleted"); } LoadDataGridView(); } }</blockquote
RickZeeland
Можете ли вы также показать код, в котором вы устанавливаете datagridview.datasource ?
Member 13153537
Это код для загрузки данных в datagridview
частный недействительными LoadDataGridView()
{
string connection = @ " Data Source=CISBLR-01\SQL2008; Initial Catalog=ChequeManager;Integrated Security=True;";
SqlConnection con = новый SqlConnection(соединение);
Команда sqlcommand cmd и = новая команда sqlcommand("выберите bank_Id,функции row_number() над(приказ [bank_Id]) как сльно,[bank_Name],[bank_Accountno],[bank_Accountype],[bank_Chequetype] от [ДБО].[счет, указанный в разделе] приказ по сльно", кон);
пробовать
{
против.Открыть();
SqlDataAdapter da = новый SqlDataAdapter();
да.Команды selectcommand = ЦМД;
DataTable dt = новый DataTable();
да.Заполнить(ДТ);
dgvwDtls.Источник данных = ДТ;
против.Закрывать();
}
поймать (исключение бывший)
{
Ящик для сообщений.Показать (например, сообщение);
}
}
Member 13153537
Как справиться с этим исключением в моем случае.Пожалуйста, дайте любую ссылку.Заранее спасибо.
RickZeeland
Я думаю, вам нужно проверить: e. RowIndex >= 0
Member 13153537
Я знаю, что это глупый вопрос.Я посвежел.Спасибо за помощь.