Lenutza
Дата: 30.04.2006 15:49:42
для получения различных данных о какой либо записи из тех,которые я отражаю в gride я
ссылаюсь к grid.CurrentRowIndex .Но после того как пользователь сделает сортировку нажатием на header колонки,вся информация относится к строке которая находилась в гриде до сортировки.
Как с этим жить ? :)
Спасибо
Lenutza
Дата: 30.04.2006 15:53:22
для получения различных данных о какой либо записи из тех,которые я отражаю в gride я
ссылаюсь к grid.CurrentRowIndex .Но после того как пользователь сделает сортировку нажатием на header колонки,вся информация относится к строке которая находилась в гриде до сортировки на grid.CurrentRowIndex .
Как с этим жить ? :)
Спасибо
linutza
Дата: 01.05.2006 15:54:12
WIN FORMS
У меня проблема с работой после сортировки таблицы,
я использую bindingManager = this.BindingContext[DataGrid.DataSource];
после того как пользователь нажимает на header колонки и таким образом сортирует данные по данной колонки,я при сохранении,при других операциях ссылаясь на
DataSet.Tables[0].Rows[bindingManager.Position ] работаю со строкой,которая была на данном месте до сортировки.
Что делать,как словить момент когда пользователь нажимает на header колонки ?
Какие у кого есть предложения.
Спасибо за любую помошь
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.
Посоветуйте,пожалуйста,что делать !
Спасибо,Лиза