PDA

View Full Version : سوال: ایجاد شمارنده در دیتاگردویو



man_iran
دوشنبه 13 دی 1389, 14:38 عصر
من می خوام توی دیتاگردویو یه شمارنده داشته باشم. مثلا یک ستون بعنوان شمارنده معرفی کنم و کار شمارنده اطلاعات توی دیتاگردویو را انجام بده
حالا می خواستم ببینم می تونم این کار را بدون کد نویسی انجام دهم؟ یعنی می شه یکی از ستون های دیتاگردویو را جوری تنظیم کرد که بصورت اتماتیک کار شمارنده را انجام بده؟

ACorvinus
دوشنبه 13 دی 1389, 15:32 عصر
سلام.

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

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

man_iran
دوشنبه 13 دی 1389, 15:47 عصر
ممنون. ولی بنظر من برای برنامه هایی که نیاز حیاتی به شمارنده ندارن (مثلا برنامم) استفاده کردن از اس کیو ال کار نادرستیه! آخه اگر اطلاعات خیلی زیاد باشن و بعد از پاک کردن یکی از سطر ها باید شمارنده بروز بشه که سرعت را میاره پایین البته اگر این کار در مدت کمی زیاد تکرار بشه
من توی اس کیو ال، شمارنده ندارم یعنی نیازی به آن نمی بینم و فقط برای راحتی کاربر می خوام توی دیتاگرویو داشته باشم. اگر هم قرار باشه از کد نویسی استفاده کنم باز می شه گفت مشکلاتی چون مشکلات اس کیو ال دارم ولی حداقل نیاز نیست برای بروز رسانی دیتاگردویو خودم (شمارندش) هی به بانک وصل بشم.
شاید اگر نیاز دیدم همان کد نویسی استفاده کردم.

گفتم شاید خود دیتاگردویو داشته باشه

ACorvinus
دوشنبه 13 دی 1389, 16:26 عصر
خواهش می کنم، هرجور راحتین، ولی اگه توجه کرده باشین گفتم اگه SQL شما 2008 باشه...!!!


من توی اس کیو ال، شمارنده ندارم یعنی نیازی به آن نمی بینم

نمیدونم توی SQL 2005 یا ورژن های پایین تر این امکان هست یا نه؟! ولی توی 2008 شما چیز خاصی تعریف نمی کنین، فقط وقتی Query میگیرین، یه تابع هم هست که خودش رکوردهای شما رو شماره گذاری می کنه، در حد 1,000,000 ثانیه!! البته حرف شما کاملا منطقیه که به هنگام حذف رکورد به بانک وصل نشین فقط بخاطر شماره رکوردها!!!

بهرحال موفق باشین.

mehdi2004171
دوشنبه 13 دی 1389, 19:15 عصر
یه نگاهی به وبلاگ زیر بینداز شاید جوابت را بده

http://mobtakerbartar.persianblog.ir/post/49/

mehdi2004171
دوشنبه 13 دی 1389, 19:16 عصر
یه نگاهی به وبلاگ زیر بینداز شاید جوابت را بده

http://mobtakerbartar.persianblog.ir/post/49/

#aliyari_C
دوشنبه 13 دی 1389, 21:25 عصر
سلام


ataColumn c = new DataColumn("Incremental ID", typeof(int));
c.AutoIncrement = true;
c.AutoIncrementSeed = 1;
c.AutoIncrementStep = 1;

DataBaseDataSet1.TableProvince.Columns.Add(c);


DataBaseDataSet1.Clear();
TableAdapter.Fill(this.DataBaseDataSet1.Table1);
dataGridView1.DataSource = DataBaseDataSet1.Table1;

البته اگر بخواهي سطري را delete‌ كني آنگاه شمار ها به همان صورت قبلي خواهند بود.

موفق و سربلند باشي.