PDA

View Full Version : مقاله: مرتب سازی گزارش کریستال بر اساس فیلدهای مختلف



saman.h
جمعه 24 تیر 1390, 19:12 عصر
سلام دوستان.من میخوام گزارشهای کریستال ریپورتم رو براساس فیلدهای مختلف موجود در گزارشم مرتب کنم.
بطوری که وقتی روی header column یکی از ستونهای data grid view ام کلیک میکنم با گرفتن نام ستون اطلاعات موجود در دیتاستم مرتب بشه و دیتاسورسم به گزارشم بایند بشه.من sortfieldها رو در قسمت record sort fileldتعریف کردم و بعد گرفتن نام ستونی که میخوام رکوردها رو براساس اون مرتب کنم .لیست فیلدهای موجود در گزارشم رو در یک آرایه ذخیره میکنم و کد زیر رو نوشتم ولی فقط برای یک فیلد جواب میده !!!!!
ممنون میشم اگه کسی میدونه راهنماییم کنه.
if (SortColumn != null && SortAscending)
{
if (SortColumn == sortFieldNames[0])
{
FieldDefinition FieldDef;
FieldDef = objReport.Database.Tables[0].Fields[SortColumn];
objReport.DataDefinition.SortFields[0].Field = FieldDef;
objReport.DataDefinition.SortFields[0].SortDirection = CrystalDecisions.Shared.SortDirection.AscendingOrd er;
}
if (SortColumn == sortFieldNames[1])
{
FieldDefinition FieldDef;
FieldDef = objReport.Database.Tables[0].Fields[SortColumn];
objReport.DataDefinition.SortFields[1].Field = FieldDef;
objReport.DataDefinition.SortFields[1].SortDirection = CrystalDecisions.Shared.SortDirection.AscendingOrd er;
}
}
if (SortColumn != null && !SortAscending)
{
if (SortColumn == sortFieldNames[0])
{
FieldDefinition FieldDef;
FieldDef = objReport.Database.Tables[0].Fields[SortColumn];
objReport.DataDefinition.SortFields[0].Field = FieldDef;
objReport.DataDefinition.SortFields[0].SortDirection = CrystalDecisions.Shared.SortDirection.DescendingOr der;
}
if (SortColumn == sortFieldNames[1])
{
FieldDefinition FieldDef;
FieldDef = objReport.Database.Tables[0].Fields[SortColumn];
objReport.DataDefinition.SortFields[1].Field = FieldDef;
objReport.DataDefinition.SortFields[1].SortDirection = CrystalDecisions.Shared.SortDirection.DescendingOr der;
}
}