PDA

View Full Version : یک سوال در مورد دیتاگرید



rtech
سه شنبه 28 فروردین 1386, 10:22 صبح
سلام دوستان
من در یکی از فرم های خود یک Textbox دارم و یک Button و یک Datagrid .
یک جدول در دیتابیس هم دارم که مشخصات قطعات ذخیره میشود
کاربر در تکست باکس کد قطعه رو میزنه و مقدار 1 در ستون ارسال ذخیره شده و این قطعه با مشخصاتش به دیتاگرید اضافه میشه . حالا فرض کنید اون شخص 10 تا قطعه رو وارد کرده . یک دکمه در زیر گرید ویو هست که میخوام هرچی قطعه در دیتاگرید هست ستون مربوط به اون قطعات مقدارشون به 2 تغییر کنه
باید چیکار کنم ؟

reza1357
پنج شنبه 30 فروردین 1386, 14:09 عصر
من هم چنین مشکلی دارم !
کسی میتونه کمک کنه ؟

با تشکر

behzad_gh
پنج شنبه 30 فروردین 1386, 14:32 عصر
من که متوجه نشدم چی می‌خواهید یک کم بیشتر توضیح‌بدهید.

reza1357
پنج شنبه 30 فروردین 1386, 21:06 عصر
اگه مثلا چهارتا ستون در دیتا گرید داشته باشید و یکی از انها مثلا ردیف باشد میخواهیم این ردیف بصورت خودکار شماره آن(مثلا سطراول 1 ، سطر دوم 2 و الی اخر) در دیتا گرید درج و در DataSet ذخیره شود چطوری میشه اینکار رو کرد؟

با سپاس

ascpro
پنج شنبه 30 فروردین 1386, 21:49 عصر
میتونی از کد SQL استفاده کنی به صورت زیر:


update emp set id=3 where id=1

به جای emp هم نام جدولتو بنویس و به جای id=3 هم نام فیلدت.
بازم اگر سوالی بود در خدمتم.

مهدی نان شکری
پنج شنبه 30 فروردین 1386, 21:51 عصر
اگه مثلا چهارتا ستون در دیتا گرید داشته باشید و یکی از انها مثلا ردیف باشد میخواهیم این ردیف بصورت خودکار شماره آن(مثلا سطراول 1 ، سطر دوم 2 و الی اخر) در دیتا گرید درج و در DataSet ذخیره شود چطوری میشه اینکار رو کرد؟

با سپاس

در ایونت RowPostPaint دیتا گرید ویو کد زیر رو بنویسید.


Using b As SolidBrush = New SolidBrush(DataGridView1.RowHeadersDefaultCellStyl e.ForeColor)

e.Graphics.DrawString((e.RowIndex + 1).ToString(System.Globalization.CultureInfo.Curre ntUICulture), _
DataGridView1.DefaultCellStyle.Font, _
b, _
e.RowBounds.Location.X + 20, _
e.RowBounds.Location.Y + 4)

End Using

مهدی نان شکری
پنج شنبه 30 فروردین 1386, 21:55 عصر
البته کد بالا فقط ریف ها رو مشخص می کنه ولی جهت ذخیره ریف ها در دیتاست (اگه نیازی باشه) می تونید به عنوان یه فیلد از دیتابیس بخونی و نمایش بدی ولی در هنگام هر تغییر دوباره این مقادیر رو با for ست کنی که زمان بر هست.

reza1357
جمعه 31 فروردین 1386, 00:08 صبح
با تشکر از دوستان بلاخره تونستم ردیف رو بصورت اتوماتیک درست کنم.
این نمونه مثال از آن :
7985

مهدی نان شکری
جمعه 31 فروردین 1386, 12:00 عصر
با سلام
ممنون که نتیجه کارتون رو برای استفاده دیگران گذاشتید. ولی یه سوال دارم: در روش شما آیا به کاربران نباید اجازه سورت و یا حذف رو بدیم؟ چون اگه یکی یکی از سطر های وسط رو حذف کنه ترتیب به هم می خوره.

reza1357
جمعه 31 فروردین 1386, 17:27 عصر
میتونید این خاصیت ها رو از کاربر بگیرید کاری نداره ثانین هنگام حذف سطر میتونی کدی تعریفی کنی که مجدد سطرها رو شماره گذاری کنه.

reza1357
جمعه 31 فروردین 1386, 17:33 عصر
فکر کنم در متد RowsRemoved میتونی کد مورد نظر رو تعریف کنی.
اگر فرصت پیدا کنم درستش میکنم.

مهدی نان شکری
جمعه 31 فروردین 1386, 18:11 عصر
نه دوست من
من می خوام یه راه حلی پیدا کنم که بدوت for این کار رو انجام بده.
آیا راهی برای این کار هست؟