PDA

View Full Version : Merge Cells in DBGrid



پوریا_م
دوشنبه 07 تیر 1389, 08:39 صبح
با سلام خدمت دوستان

چطور میشه سلولهایی از گرید که حاوی اطلاعات یکسانی هستن باهم Merge بشن ؟؟
مثل شکل زیر.
با تشکر...

bootshow
سه شنبه 08 تیر 1389, 01:24 صبح
grid شرکت Ehlib خودش این کارو میکنه.
grid شرکت tms هم متد mergCell , mergcolumn و ... غیره داره.
بصورت دستی و معمولی نمیدونم ولی در TCustomGrid.Paint میتونی برای هر سلول DrawLines جداگانه بنویسی.مثلا
DrawLines(goHorzLine in Options, goVertLine in Options, 2,
1, [CellRect(2,1).left,CellRect(2,1).top,
CellRect(2,1).Right,CellRect(2,1).Bottom], LineColor, Color);

برای merg شدن به کد زیر تغییرش بدی
DrawLines(goHorzLine in Options, goVertLine in Options, 2,
1, [CellRect(2,1).left,CellRect(2,1).top,
CellRect(2,1).Right,CellRect(2,1).top+1], LineColor, Color);
البته باید تو حلقه بزاری!!
اینو همینجوری نوشتم.اگه دوستان روش دیگری دارند ممنون میشم چون خودم باهاش زیاد مشکل داشتم.grid شرکت TMS سرعتش خیلی پایینه.

khoshblagh
سه شنبه 08 تیر 1389, 06:50 صبح
grid شرکت Ehlib خودش این کارو میکنه.
.
با سلام
میشه اطلاعات بیشتری در این رابطه بدهید. متشکرم

bootshow
سه شنبه 08 تیر 1389, 15:54 عصر
روی DBGrideh دوبار کلیک کنید.Add All Fields را انتخاب کنید.روی هر فیلد(ستون) که کلیک کنید پراپرتی HideDuplicates داره که باعث میشه سلولهایی که محتویاتشون مثل همه را با هم ادغام کنه.