-
اضافه کردن شماره های با ترتیب دلخواه به یک ستون از دیتاگرید
با سلام خدمت همه اساتید
من یک برنامه ویندوز فرم دارم مینویسم و خیلی مبتدی هستم و با همین برنامه دارم یاد میگیرم
مشکلی که دارم اینه که یک دیتاگریدویو دارم که اطلاعاتش از دیتابیس میاد و شامل یک ستون به نام دسته هستش که بر اساس ایتم های یک کمبوباکس دسته بندی میشود. حالا میخوام توی ستونی به نام خط، جلوی دسته بندی ترتیب عددهای پیش فرض خودم نوشته بشه به این صورت که مثلا در دسته شماره یک که شامل 6 نفر هست به ترتیب به هر نفر عددهای 3 و 4 و 2 و 5 و 1 و 6 قرار بگیره.
و به همین ترتیب برای دسته های دیگر هم همین حالت.
ممنون میشم کمک کنید به شدت کارم گیر کرده
-
نقل قول: اضافه کردن شماره های با ترتیب دلخواه به یک ستون از دیتاگرید
سلام
اگر با تصویر نشان میدادی که میخواهی چکار کنی بهتر میشد راهنمایی کرد
-
1 ضمیمه
نقل قول: اضافه کردن شماره های با ترتیب دلخواه به یک ستون از دیتاگرید
نقل قول:
نوشته شده توسط
alexmcse
سلام
اگر با تصویر نشان میدادی که میخواهی چکار کنی بهتر میشد راهنمایی کرد
طبق عکس من ستون (خط) رو میخوام خروجی داشته باشم
-
نقل قول: اضافه کردن شماره های با ترتیب دلخواه به یک ستون از دیتاگرید
سلام و روز خوش
به عبارتی میخواین روی "دسته" گروه بندی و برای هر گروه row number جدا داشته باشین، درسته؟
شاید اگر در سطح دیتابیس انجام بدین راحتتر باشه - بخصوص اگر از sql استفاده میکنین.
-
نقل قول: اضافه کردن شماره های با ترتیب دلخواه به یک ستون از دیتاگرید
نقل قول:
نوشته شده توسط
mazoolagh
سلام و روز خوش
به عبارتی میخواین روی "دسته" گروه بندی و برای هر گروه row number جدا داشته باشین، درسته؟
شاید اگر در سطح دیتابیس انجام بدین راحتتر باشه - بخصوص اگر از sql استفاده میکنین.
سلام و درود
بله همینطوره و مشکلی هم نیست اگه در سطح sql باشه فقط میخوام این شماره ردیف رو به صورت دلخواه خودم بزنم یعنی ترتیبشو مشخص کنم
-
نقل قول: اضافه کردن شماره های با ترتیب دلخواه به یک ستون از دیتاگرید
میتونید از رویداد RowDataBound دیتاگریدویو استفاده کنید. در این رویداد ، میتونید مقادیر ستون مورد نظر را بر اساس ترتیب دلخواه خود تنظیم کنید.
اول ، باید کمبوباکس دستهها را پر کنید و بعد از انتخاب هر دسته ، ترتیب مربوط به آن دسته را بر روی ستون خط دیتاگریدویو تنظیم کنید. میتونید از دستورات LINQ برای مرتبسازی دادهها استفاده کنید.
ستون خط برای نگهداری ترتیب مورد نظر استفاده میشه . این مثال و با ساختار برنامتون شخصی سازی کنید . امیدوارم مفید واقع بشه
private void dataGridView1_RowDataBound(object sender, DataGridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
// دریافت مقدار دسته از سلول مورد نظر
string category = e.Row.Cells["دسته"].Value.ToString();
// محاسبه ترتیب بر اساس دسته
int[] order = { 3, 4, 2, 5, 1, 6 };
// تنظیم مقدار جدید برای ستون خط
e.Row.Cells["خط"].Value = order[Array.IndexOf(order, int.Parse(category))];
}
}
-
نقل قول: اضافه کردن شماره های با ترتیب دلخواه به یک ستون از دیتاگرید
سلام
با دستور اسکیوال تست کن ببین جواب میگیری
select * from table order by khat group by daste
-
نقل قول: اضافه کردن شماره های با ترتیب دلخواه به یک ستون از دیتاگرید
نه این مورد جواب نداد متاسفانه
-
نقل قول: اضافه کردن شماره های با ترتیب دلخواه به یک ستون از دیتاگرید
این مورد هم توی خروجی ستون خط خالیه
-
نقل قول: اضافه کردن شماره های با ترتیب دلخواه به یک ستون از دیتاگرید
نقل قول:
نوشته شده توسط
پرستو پارسایی
میتونید از رویداد RowDataBound دیتاگریدویو استفاده کنید. در این رویداد ، میتونید مقادیر ستون مورد نظر را بر اساس ترتیب دلخواه خود تنظیم کنید.
اول ، باید کمبوباکس دستهها را پر کنید و بعد از انتخاب هر دسته ، ترتیب مربوط به آن دسته را بر روی ستون خط دیتاگریدویو تنظیم کنید. میتونید از دستورات LINQ برای مرتبسازی دادهها استفاده کنید.
ستون خط برای نگهداری ترتیب مورد نظر استفاده میشه . این مثال و با ساختار برنامتون شخصی سازی کنید . امیدوارم مفید واقع بشه
private void dataGridView1_RowDataBound(object sender, DataGridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
// دریافت مقدار دسته از سلول مورد نظر
string category = e.Row.Cells["دسته"].Value.ToString();
// محاسبه ترتیب بر اساس دسته
int[] order = { 3, 4, 2, 5, 1, 6 };
// تنظیم مقدار جدید برای ستون خط
e.Row.Cells["خط"].Value = order[Array.IndexOf(order, int.Parse(category))];
}
}
میشه لطف کنید بیشتر توضیح بدین
-
نقل قول: اضافه کردن شماره های با ترتیب دلخواه به یک ستون از دیتاگرید
سلام
پاسخ در آدرس زیر موجود است:
https://stackoverflow.com/questions/...mber-per-group
اگر هم خواستید اطلاعات را به همراه شماره ردیف از بانک اطلاعاتی دریافت کنید:
https://stackoverflow.com/questions/...umber-on-group
-
نقل قول: اضافه کردن شماره های با ترتیب دلخواه به یک ستون از دیتاگرید
نقل قول:
نوشته شده توسط
mmbguide
ممنون از پاسختون فقط چیزی که هست این کوئری ها قابلیت شماره گذاری با ترتیب دلخواه رو ندارن
-
نقل قول: اضافه کردن شماره های با ترتیب دلخواه به یک ستون از دیتاگرید
سعی میکنم در اولین فرصت نمونه کد برات بفرستم
-
نقل قول: اضافه کردن شماره های با ترتیب دلخواه به یک ستون از دیتاگرید
قبل از اینکه بخوام کدی را بنویسم بفرمایید منظورتان از اینکه شماره دلخواه بدید یعنی چی. به هر حال لیست بازگشتی باید از یک مبنایی برای Sort کردن استفاده کرده باشه. خب این کار را در همان سطح SQL انجام بدید. اما اگر منظورتان این هست که مثلا اگر در GridView بارگذاری کردید و در هر زمان کا کاربر با کلیک روی نام ستون Sort را تغییر داد و شما می خواهیم همان ترتیب اولیه شماره گذاری بدون در نظر گرفتن مبنای Sorting انجام بشه که داستان متفاوت میشه.
-
نقل قول: اضافه کردن شماره های با ترتیب دلخواه به یک ستون از دیتاگرید
نقل قول:
نوشته شده توسط
mmbguide
قبل از اینکه بخوام کدی را بنویسم بفرمایید منظورتان از اینکه شماره دلخواه بدید یعنی چی. به هر حال لیست بازگشتی باید از یک مبنایی برای Sort کردن استفاده کرده باشه. خب این کار را در همان سطح SQL انجام بدید. اما اگر منظورتان این هست که مثلا اگر در GridView بارگذاری کردید و در هر زمان کا کاربر با کلیک روی نام ستون Sort را تغییر داد و شما می خواهیم همان ترتیب اولیه شماره گذاری بدون در نظر گرفتن مبنای Sorting انجام بشه که داستان متفاوت میشه.
من میخوام فقط برای هر دسته از شماره گذاری به صورت دلخواه استفاده بشه و در همون سطح sql باشه کافیه
مثلا دسته شماره سه به این صورت باشه
3 3
3 4
3 2
3 5
3 1
3 6
و دسته بعدی اگر تعداد کمتر باشه مثلا
4 3
4 4
4 2
4 5
4 1
امیدوارم تونسته باشم منظورمو برسونم
-
نقل قول: اضافه کردن شماره های با ترتیب دلخواه به یک ستون از دیتاگرید
اگر این شماره گذاری توسط کاربر تعیین میشود باید امکان ویرایش رو به کاربربدید.
بعد از ثبت اعداد ، هم با کوئری و هم سمت برنامه میتونید روی هر دو ستون مرتبسازی کنید.
-
نقل قول: اضافه کردن شماره های با ترتیب دلخواه به یک ستون از دیتاگرید
شما باید منطق این شماره گذاری را اعلام کنید. فرض کنید 100 تا گروه دارید و هر گروه 500 آیتم داره. قطعا نمیشه دستی این کار را انجام بدید. اگر هم باید دستی انجام بشه که هیچ و مطابق نظر پست شماره #16 باید اقدام کنید. ولی اگر قرار باشه کدهای برنامه این کار را انجام بدهند باید منطق این شماره گذاری را پیدا کنید بعد اون را به کد کد تبدیل کنید.
-
نقل قول: اضافه کردن شماره های با ترتیب دلخواه به یک ستون از دیتاگرید
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
اگر این شماره گذاری توسط کاربر تعیین میشود باید امکان ویرایش رو به کاربربدید.
بعد از ثبت اعداد ، هم با کوئری و هم سمت برنامه میتونید روی هر دو ستون مرتبسازی کنید.
شماره گذاری توسط کاربر انجام نمیشود و به صورت دیفالت همین ترتیبی که نوشتم دارد. فقط کدی رو میخوام که همین ترتیب رو به هر دسته اختصاص بده
-
نقل قول: اضافه کردن شماره های با ترتیب دلخواه به یک ستون از دیتاگرید
نقل قول:
نوشته شده توسط
mmbguide
شما باید منطق این شماره گذاری را اعلام کنید. فرض کنید 100 تا گروه دارید و هر گروه 500 آیتم داره. قطعا نمیشه دستی این کار را انجام بدید. اگر هم باید دستی انجام بشه که هیچ و مطابق نظر پست شماره #16 باید اقدام کنید. ولی اگر قرار باشه کدهای برنامه این کار را انجام بدهند باید منطق این شماره گذاری را پیدا کنید بعد اون را به کد کد تبدیل کنید.
منطق شماره گذاری همین مثالی هست که عرض کردم و هر دسته با همین تعداد ایتم یعنی حداکثر 6 ایتم هستش.
-
نقل قول: اضافه کردن شماره های با ترتیب دلخواه به یک ستون از دیتاگرید
تنها راه حل که به ذهن من میرسه اینه که در ساختار جدول جهت نگهداری اطلاعات یک ستون به نام Sequence یا هر نام مناسبی اضافه کنید و یکبار برای همیشه یک شماره به اون تخصیص بدید. موضوع Duplicate بودن را هم باید مدیریت کنید.
-
نقل قول: اضافه کردن شماره های با ترتیب دلخواه به یک ستون از دیتاگرید
نقل قول:
نوشته شده توسط
mmbguide
تنها راه حل که به ذهن من میرسه اینه که در ساختار جدول جهت نگهداری اطلاعات یک ستون به نام Sequence یا هر نام مناسبی اضافه کنید و یکبار برای همیشه یک شماره به اون تخصیص بدید. موضوع Duplicate بودن را هم باید مدیریت کنید.
میشه مثال یا کدی لطف کنید؟
-
نقل قول: اضافه کردن شماره های با ترتیب دلخواه به یک ستون از دیتاگرید
نقل قول:
نوشته شده توسط
khajooei7185
شماره گذاری توسط کاربر انجام نمیشود و به صورت دیفالت همین ترتیبی که نوشتم دارد. فقط کدی رو میخوام که همین ترتیب رو به هر دسته اختصاص بده
یک جدول به دیتابیس اضافه کنید و مقادیر را با همین ترتیب توی این جدول ذخیره کنید. این جدول را با جدول اطلاعات join کنید.
-
نقل قول: اضافه کردن شماره های با ترتیب دلخواه به یک ستون از دیتاگرید
نقل قول:
نوشته شده توسط
khajooei7185
میشه مثال یا کدی لطف کنید؟
در واقع مدل/جدول شما باید چیزی شبیه نمونه زیر باشد:
public class MyModel
{
public string Name { get; set; }
public string Team { get; set; }
public string Record { get; set; }
public int Category { get; set; }
public int Sequence { get; set; }
}
هر زمان خواستید ردیف جدید اضافه کنید باید دقت کنید که مقدار Sequence به ازای هر Category تکراری ثبت نشود