Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Изменение сортировки столбца в DataGrid / 2 сообщений из 2, страница 1 из 1
07.11.2006, 21:32
    #34110419
Werty
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение сортировки столбца в DataGrid
Когда нажимаешь на имя столбца (колонки) в DataGrid меняется сортировка записей по возрастанию/по убыванию этого столбца. Как называется это событие?

У меня проблема в изменении / удалении записей. Нужно выделить мышкой запись и удалить ее.

Выделение мышкой я отслеживаю функцией, которую увидел тут на форуме:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
private void dataGrid1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
		{
			DataGrid.HitTestInfo info = dataGrid1.HitTest(e.X,e.Y);
			if (info.Type == DataGrid.HitTestType.Cell)
			{				
				BindingManagerBase bmb = this.BindingContext[dataGrid1.DataSource,dataGrid1.DataMember];
				bmb.Position = info.Row;
				DataRowView drv = (DataRowView) bmb.Current; 
				Poz = bmb.Position;
			}
		} 

А удаляю:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
private void btnDelete_Click(object sender, System.EventArgs e)
		{
			targetRow = dt.Rows[Poz];
			targetRow.Delete();
			try
			{
				DataAdapter.Update(DataSet, "Tabla");
				DataSet.AcceptChanges();
			}
			catch(OleDbException ex)
			{
				DataSet.RejectChanges();
				MessageBox.Show(ex.Message);
			}		
		}

Если не менять сортировку какого-нибудь столбца, то всё нормально работает. А если изменить, то при удалении удаляется другая (противоположная) строка из DataGrid и базы. Помогите, кто знает, как удалить запись.
...
Рейтинг: 0 / 0
08.11.2006, 06:25
    #34110698
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение сортировки столбца в DataGrid
Код: plaintext
1.
2.
targetRow = dt.Rows[Poz]; // неправильно см. код ниже
targetRow.Delete();
как вариант:
Код: plaintext
1.
2.
3.
CurrencyManager crm = (CurrencyManager)this.BindingContext[this.dataGrid1.DataSource, this.dataGrid1.DataMember];
DataRowView targetRow = (DataRowView) crm.Current;
targetRow.Delete();
подписку на MouseUp можно отменить. обработчик события dataGrid1_MouseUp удалить.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Изменение сортировки столбца в DataGrid / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]