PDA

View Full Version : سوال: گذاشتن نام برای ردیف در دیتا گرید و جلوگیری از مرتب سازی



ahmadsam
پنج شنبه 16 آبان 1387, 16:57 عصر
آیا می توان برای ردیف های دیتا گرید نیز نام گذاشت

ونیز می توان از sort شدن داده ها جلوگیری کرد.

h.jaza
پنج شنبه 16 آبان 1387, 17:12 عصر
بیشتر توضیح بدین.
یعنی چی؟
اگر منظورتون اینه جای * یه متن باشه وسه ی هر ردیف فکر نمی کنم بشه، به خاطر اینکه تعداد ردیف ها مثل ستون ها ثابت نیست که بشه وسش نام گذاشت.

و جواب سوال دوم: هر ستون، خصوصیتی داره به نام SortMode با قرار دادنش روی NotSortable دیگه نمی شه اون ستون رو سورت کرد.

ahmadsam
پنج شنبه 16 آبان 1387, 23:49 عصر
منظور من مثل اکسل که مثلا و قتی به سطر پایینی می ریم یکی به عدد اضافه بشه
مثلا اگر این ردیف 4 بشه 5 و به همین صورت .

xxxxxxxxxx
جمعه 17 آبان 1387, 01:37 صبح
کد زیرهمان کار رامی کند اما بصورت گرافیکی
در event RowPostPaint کد زیررابنویسید:


private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
using (SolidBrush b = new SolidBrush(((DataGridView)sender).RowHeadersDefaul tCellStyle.ForeColor))
{
DataGridView dgv = (DataGridView)sender;
e.Graphics.DrawString((e.RowIndex + 1).ToString(), e.InheritedRowStyle.Font, b, e.RowBounds.Right - dgv.RowHeadersWidth + 1, e.RowBounds.Location.Y + 4);
}
}

ضمنا dataGridView1 راستچین می باشد ،اگر چپچین خواستید بایدیکم دستکاری کنید اندازه هارو

h.jaza
جمعه 17 آبان 1387, 10:21 صبح
دوست عزیز اولا درست من متوجه نمی شم کد شما چیکار می کنه.

و ثانیا چرا زمانی که داریم اون سلولی رو که عدد ردیفش توش هست، ویرایش می کنیم، عدد میره؟

البته اگر قرار به این کاره، میشه یکم از اینترفیس صرف نظر کرد و اصلا یه ستون Read only در نظر گرفت برای شماره سطر یا هر کار خاص دیگه ای که مد نظره.

xxxxxxxxxx
جمعه 17 آبان 1387, 22:46 عصر
دوست عزیز اولا درست من متوجه نمی شم کد شما چیکار می کنه.
و ثانیا چرا زمانی که داریم اون سلولی رو که عدد ردیفش توش هست، ویرایش می کنیم، عدد میره؟

اولا:
باتغییرsortترتیب عوض نمی شود.قابل ویرایش،حذف ... نیست.باحذف رکورد جا خالی نمی شود وبا ایجاد رکورد شماره جدید اضافه می گردد.خلاصه تقریبا شبیه اکسل.
ثانیا:
حدس می زنم روش مورداشاره شما با حذف رکورد جای شماره ردیف خالی می ماند واینکه دنگ فنگش زیاده ضمن اینکه ردیفی در گرید ویو وبانک استفاده نمی شود فقط جهت نمایش و تقویت کنترل رکوردهاست.
البته همه اینها به شرطه اینکه منظورتون با من بوده و من هم درست متوجه منظورتون شده باشم.

h.jaza
جمعه 17 آبان 1387, 22:59 عصر
منظورم با شما بود ولی درست متوجه نشدین.

اولا متوجه طرز کار برنامه ی شما شدم. ... که نیستم. :لبخند:

منظورم کد شما بود. یکم راجع به کدتون توضیح بدین.

و اما در مورد روشی که گفتم، اونجوری که گفتی نیست، کافیه کد هایی رو که وسه ی این کار می نویسیم، درست و کامل و جامع بنویسیم.

و البته موافقم راه خوبی نیست، همون جوری که در بالا هم گفتم. وسه ی همین از سایر دوستان هم می خوام که اگر راه بهتری داردن، ارائه کنن.

و اما در مورد نکته ای که در مورد زمان وارد کردن تکست در سلول حاوی شماره ردیف گفتم، عکس ضمیمه رو ببینید.