PDA

View Full Version : مشکل با دیتا گرید



golagha_program
شنبه 12 فروردین 1385, 11:10 صبح
سلام
چطور می توان اطلاعات ستون دوم یک دیتا گرید را سطر به سطر خواند و در آرایه ذخیره کرد؟
با تشکر

MMAASS
شنبه 12 فروردین 1385, 21:38 عصر
سلام
چطور می توان اطلاعات ستون دوم یک دیتا گرید را سطر به سطر خواند و در آرایه ذخیره کرد؟
با تشکر
سلام دوست عزیز
من طریقه خوندن از تو دیتاگرید رو می دونم اما با آرایه ها تو net. کار نکردم یه قسمتشو من می گم ان شاءالله بقیه دوستان قسمت بعدش رو می گن.
همون طور که می دونیم سطرها و ستونهای دیتاگرید با اندیس 0 شروع می شن.
یکی از ویژگیهای دیتاگرید "Items" است که دو پارامتر سطر و ستون داره که می تونی ازش استفاده کنی.
ستونش رو که خودتون گفتین ستون دوم اما چطوری همه سطرها رو بخونیم.
این دیتا گرید یک منبع اطلاعاتی داره (که فرض می کنیم همون دیتاست باشه) و تعداد رکوردها رو می شه ازش خوند. (یعنی همون تعداد سطرها)
پس یه حلقه می نویسیم واسه خوندن همه سطرها :


Dim i AsInteger
Dim str AsString
For i = 0 To DataSetName.TableName.Rows.Count - 1
str = dg.Item(i, 1)
Next
من اینجا یه رشته تعریف کردم که اون مقدار موردنظر رو توش می ذاره اما باید به جای اون آرایه رو بکار ببرین برای پر کردن اون هم می تونین از همون اندیس i استفاده کنین.
فکر کنم دلیل اینکه چرا i یکی کمتر از تعداد سطرهاست مشخص باشه.

ali_kolahdoozan
یک شنبه 13 فروردین 1385, 08:26 صبح
هر دیتا گرید خواصی مثل count و... داره با اونها تعداد رکوردهای درونش رو پیدا کنید . چون در vb هستید می تونید یک آْرایه با یک خونه بگیرید و با redim مرطب بزرگش کنید که فضا هم زیادی مصرف نشه بعد در فیلد رو درون یک عضو آرایه قرار دهید . در صورت نیاز به توضیح بیشتر بگید

MMAASS
یک شنبه 13 فروردین 1385, 14:49 عصر
هر دیتا گرید خواصی مثل count و... داره با اونها تعداد رکوردهای درونش رو پیدا کنید .
باید بگم که من این قسمت رو براساس VB2003 توضیح دادم تا اونجایی هم که می دونم تو دیتاگرید 2003 همچین چیزی (Count) نداریم. اگه آقای کلاهدوزان براساس 2005 توضیح دادن یه چیز دیگس.
اما یه چیزی که الان واسم پیش اومد اینه که ممکنه همه رکوردهای دیتاست رو تو دیتاگرید نشون ندیم. اون وقت تعداد سطرهای دیتاگرید چی می شه؟ :متفکر:
دیتاگرید یه ویژگی داره که VisibleRowCount است و تعداد سطرهایی که در حال نمایش هستند رو مشخص می کنه. اگه که دیتاگرید قابلیت درج داشته باشه این ویژگی، سطرخالی که برای درج رکورد جدید هست رو هم میشماره.
دوست عزیز ببین با این چیزهایی که گفته شد کارت راه میفته؟

ali_kolahdoozan
دوشنبه 14 فروردین 1385, 05:24 صبح
بله من 2005 گفتم .