Сортировка в GRIDE

Lenutza
Дата: 30.04.2006 15:49:42
для получения различных данных о какой либо записи из тех,которые я отражаю в gride я
ссылаюсь к grid.CurrentRowIndex .Но после того как пользователь сделает сортировку нажатием на header колонки,вся информация относится к строке которая находилась в гриде до сортировки.

Как с этим жить ? :)

Спасибо
Lenutza
Дата: 30.04.2006 15:53:22
для получения различных данных о какой либо записи из тех,которые я отражаю в gride я
ссылаюсь к grid.CurrentRowIndex .Но после того как пользователь сделает сортировку нажатием на header колонки,вся информация относится к строке которая находилась в гриде до сортировки на grid.CurrentRowIndex .

Как с этим жить ? :)

Спасибо
saint
Дата: 30.04.2006 19:01:38
dataset1.Tables[0].DefaultView.Items
если взять отсюда, то будет в порядке сортировки.
Сахават Юсифов
Дата: 30.04.2006 20:25:33
saint
dataset1.Tables[0].DefaultView.Items
если взять отсюда, то будет в порядке сортировки.


:(
linutza
Дата: 01.05.2006 15:54:12
WIN FORMS
У меня проблема с работой после сортировки таблицы,
я использую bindingManager = this.BindingContext[DataGrid.DataSource];
после того как пользователь нажимает на header колонки и таким образом сортирует данные по данной колонки,я при сохранении,при других операциях ссылаясь на

DataSet.Tables[0].Rows[bindingManager.Position ] работаю со строкой,которая была на данном месте до сортировки.


Что делать,как словить момент когда пользователь нажимает на header колонки ?
Какие у кого есть предложения.

Спасибо за любую помошь
dmitry_zabolotsky
Дата: 02.05.2006 10:17:54
linutza
WIN FORMS
У меня проблема с работой после сортировки таблицы,
я использую bindingManager = this.BindingContext[DataGrid.DataSource];
после того как пользователь нажимает на header колонки и таким образом сортирует данные по данной колонки,я при сохранении,при других операциях ссылаясь на

DataSet.Tables[0].Rows[bindingManager.Position ] работаю со строкой,которая была на данном месте до сортировки.


Что делать,как словить момент когда пользователь нажимает на header колонки ?
Какие у кого есть предложения.

Спасибо за любую помошь



Перемещение по таблице- перемещение по datatable или datasource
Надо просто найти строку на которой был курсор до сортировки
методы есть.
dataView.Find рулит. Индекс запоминайте
В общем то обрисуйте задачу
Lenutza
Дата: 04.05.2006 12:04:33
DataRowView drView = (DataRowView)bindingManager.Current;
// Display the ID of the currently selected record.
int CurrentId=int.Parse(drView["Id"].ToString());

Vot tak dannie v Sortview i Normalview sovpadajut.

Spasibo vsem
Lenutza
Дата: 04.05.2006 13:37:05
необходимо различать визуально новые записи от старых (как в Outlook mails ).У каждой записи в database есть колонка wasread:0-строка в таблице будет выглядеть -regular,1-bold.
все колонки в гриде определены как FormattableTextBoxColumn ,что позволяет при определении таблицы менять Формат отображаемого в них текста в зависимости от значения wasread.

SetCellFormat- event of FormattableTextBoxColumn :

private void SetCellFormat(object sender, DataGridFormatCellEventArgs e)
{
try
{
string fieldValue;
for(int i = 0; i < QueryResultsDS.Tables[0].Rows.Count; i++)
{


fieldValue=QueryResultsDS.Tables[0].Rows["WasRead"].ToString();

if( e.Row==i && fieldValue=="False")
{e.TextFont =new Font(this.dataGrid1.Font.Name, this.dataGrid1.Font.Size,FontStyle.Bold);}

if(e.Row==i && fieldValue=="True")
{e.TextFont =new Font(this.dataGrid1.Font.Name, this.dataGrid1.Font.Size,FontStyle.Regular);}

}

Проблема:
Когда пользователь нажимает на header колонки в таблице ,и тем самым сортирует грид ,
данные сортируются,а формат строк остается прежним,т.е. если вторая и третья стrоки были bold,то поменявшиеся местами отсортированные данные на месте 2 и 3 будут bold .
Формат строки связан с колонкой в database (0-regular,1-bold). данные которые после сортировки оказываются на строке,кот.определена как bold,потому что до сортировки там действително находились данные ,которые должны быть bold ,выглядят как bold ,хотя по database они могут быть определены как regular.
Посоветуйте,пожалуйста,что делать !

Спасибо,Лиза