انتخاب یک سطر از دیتاگرید؟ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

وبـــلاگ هــفت خــط کــد


آموزش های برنامه نویسی
۴۰ نفر آنلاین
۰ عضو و ۴۰ مهمان در سایت حاضرند

انتخاب یک سطر از دیتاگرید؟

0 امتیاز
583 بازدید

سلام دوستان و اساتید.

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

من این کار رو تو WPF انجام میدادم اما نمی دونمچرا اینجا انجام نمیشه.

کدم هم اینه. ممنون میشم معادلش رو تو winform  بگین.

int id = (dgw1.SelectedItems as tbl_Book).Id;

 

اما تو ویندوز فرم خاصیت SelectedItems رو نمیشناسه؟؟؟

سوال شده اسفند 26, 1392  بوسیله ی rahgozar (امتیاز 324)   1 5 33

2 پاسخ

+1 امتیاز

سلام.

اگر منظور شما رو درست متوجه شده باشم، می خواید با انتخاب هر سطر، به id (یا هر مشخصه دیگه ای از اون سطر) دسترسی داشته باشید.

برای این منظور، یه راهش اینه که از رویدادهای گرید (مثلا رویداد CellClick) از کد زیر استفاده کنید :

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            int questionId = Convert.ToInt32(dataGridView1.CurrentRow.Cells["QuestionID"].Value);
            MessageBox.Show(questionId.ToString());
        }

 

پاسخ داده شده اسفند 26, 1392 بوسیله ی veniz2008 (امتیاز 2,101)   1 5 21
سلام.

من با استفاده از پروسیجری که نوشتم شماره id رو می گیره و داده رو حذف می کنه.

حالا من می خوام شماره هر سطری رو که انتخاب کردم شماره id رو بر گردونه تا من با دستورم حذفش کنم بصورت اتوماتیک خودش بر گزدونه.

این کار در WPF بصورت بالا انجام میشد. اما اینجا نمی دونم چطوریه.
همونطور که در بالا هم گفتم، از یک رویداد مناسب برای گرید استفاده کنید.بقیه اش همون کدی میشه که براتون گذاشتم.
مثلا خیلی از نرم افزارها، الان به اینصورت هستن که اگر در ابتدای اون سطر دابل کلیک صورت بگیره، اون سطر رو برای حذف در نظر می گیرن (قبل از حذف یه پیغام به کاربر نمایش میدن و در صورت تایید اون سطر رو حذف میکنن). در این حالت رویداد RowHeaderMouseDoubleClick رویداد مناسبی خواهد بود.
سلیقه شما (یا مشتری) ممکنه متفاوت باشه. به همین خاطر میگم رویداد مناسب رو انتخاب کنید.
اگر هم قصد حذف بصورت گروهی رو دارید (معمولا یه چک باکس برای هر سطر در نظر می گیرن)،
می تونید از یک حلقه for یا foreach که به تعداد سطرهای شما تکرار میشه، استفاده کنید(در اینجا دیگه رویداد معنی نداره و درون یک دکمه می تونید دستورتون رو قرار بدید) که هر بار id اون سطر رو بر میدارید و به sp مورد نظر پاس می دید.
پس چیزی که مهمه اینه که شما مایلید به چه شکلی این کار رو پیاده سازی کنید.
0 امتیاز
سلام

قبل از هر چیزی ازتون معذرت میخوام که در این قسمت دارم سوال میپرسم راستش من میخوام آخرین داده ای که در دیتا گرید ویو ثبت میشه به طور خودکار در حالت انتخاب باشه

من تو wpf دارم انجام میدم و تو اینترنت چیز زیادی پیدا نکردم

لطفا کمکم کنید خیلی ضروریه
پاسخ داده شده آبان 17 بوسیله ی روستا .... (امتیاز 14)   1
...