PDA

View Full Version : مبتدی: قرار دادن اتوماتیک ستون های دیتاگرید بین صفحه نمایش



aminaltavista
پنج شنبه 06 مهر 1391, 19:47 عصر
سلام

دوستان من کدی دارم که هر چند تا ستون بهش بدید اتوماتیک همه رو وسط صفحه تنظیم میکنه و نه از عقب و نه از جلو زیاد میزنه. اما نمیدونم کار باهاش چه طوریه و چه طور این کارو میکنه ! راستش من ریاضیم خوب نیست . این کد هم برا ساخت دیتاگرید هست که فقط اونی که مد نظرم هست رو بهتون نشون میدم (برا گذارش و طرقی متمایز)

int Wpage = e.PageBounds.Width;

int w = 0,xcol;

for (int i = 0; i < datagrid.Columns.Count; i++)
{
w += datagrid.Columns[i].Width;
}
xcol = Wpage-w;
xcol /= 2;

for (int i = 0 ; i < datagrid.Columns.Count; i++)
{
if (datagrid.Columns[i].Visible == true)
{
e.Graphics.FillRectangle(Brushes.YellowGreen, new Rectangle(xcol, yCol, datagrid.Columns[i].Width, datagrid.Rows[0].Height));
xcol += datagrid.Columns[i].Width;
}//if
}//fo

دوستان شما فقط عملکرد xcol رو به من بگید و با بقیه کاری نداشته باشید(اصل تاپیک همین است)
ازتون ممنونم:تشویق:

Mahmoud Zaad
پنج شنبه 06 مهر 1391, 20:09 عصر
سلام
Wpage: عرض كل صفحه هست.
w : عرض ستون ها هست كه توي for اولي مقدار دهی شده، توی این حلقه گفته،" برای همه ستون هایی که میشه دید! عرضشون با هم جمع بشه"!
بعد می رسیم به xcol كه حاشيه هست. یعنی عرض کل صفحه(Wpage) منهای عرض همه ستون ها (w) كه بعد هم تقسيم بر 2 شده که به طور مساوی تقسیم بشه و گرید در وسط صفحه چاپ بشه.

aminaltavista
پنج شنبه 06 مهر 1391, 21:54 عصر
سلام
Wpage: عرض كل صفحه هست.
w : عرض ستون ها هست كه توي for اولي مقدار دهی شده، توی این حلقه گفته،" برای همه ستون هایی که میشه دید! عرضشون با هم جمع بشه"!
بعد می رسیم به xcol كه حاشيه هست. یعنی عرض کل صفحه(Wpage) منهای عرض همه ستون ها (w) كه بعد هم تقسيم بر 2 شده که به طور مساوی تقسیم بشه و گرید در وسط صفحه چاپ بشه.

الان همه چیز واضح است اما یه چیز برای من نامعلوم! اگه عرض کل صفحه 1000 باشه و عرض گرید 600 و جواب تقسیم 2 میشه 200 . حالا این عدد چه مفهومی داره یعنی چه جور بگم چه طوری به این استنباط رسیدند؟:گیج:

Mahmoud Zaad
جمعه 07 مهر 1391, 08:36 صبح
گفتم که حاشیه است.
به نظر شما غلطه؟
شاید هم غلط باشه!
کدهای کاملشو بزار ببینیم داستان چیه.

aminaltavista
جمعه 07 مهر 1391, 10:49 صبح
گفتم که حاشیه است.
به نظر شما غلطه؟
شاید هم غلط باشه!
کدهای کاملشو بزار ببینیم داستان چیه.

نه والا !(والله) فعلا که بهترین جواب همینه و باید به دید یه فرمول بهش نگاه کنم که برای تنظیم گرید به وسط فرم این طوری کار کنم.