PDA

View Full Version : سوال: يه سوال در مورد Data Grid View



cloriya
چهارشنبه 08 مهر 1388, 10:23 صبح
مي خوام وقتي فرم لود مي شه اشاره گر Grid View روي سطر دلخواه( مثلا سطر 5) قرار بگيره نه روي سطر اول. بايد چي كار كنم؟

alimanam
چهارشنبه 08 مهر 1388, 10:57 صبح
با سلام

اگه منظورتون از Grid View همون Datagridview هست این کد کارت مشکلتون رو حل می کنه .

یا علی

cloriya
چهارشنبه 08 مهر 1388, 11:23 صبح
نه اين كد فقط انتخاب ميكنه من ميخوام اشاره گر بره روي سطر دلخواهم چون هر سطري كه اشاره گر كنار اون باشه محتويات اون سطر رو داخل text box هايي كه بالاي گريدويو گذاشتم نشون ميده.

saadi2
چهارشنبه 08 مهر 1388, 12:12 عصر
تکست باکسها رو چجوری بایند کردید؟

شما باید در رویداد selected change گرید ویو خود کدهارو قرار بدید که اطلاعات بره داخل تکست باکسها و در این صورت کد آقای alimanam جواب میده

vb.net2008
پنج شنبه 09 مهر 1388, 19:44 عصر
من امتحان كردم. cloriya راست ميگه كدي رو كه آقاي alimanam فرستادن فقط انتخاب ميكنه اگه دقت كنيد هنوز اشاره گر (منظورم همون علامت مثلثي شكل) كنار سطر اول هست. كه در اين صورت حتي اگه كد هاي مربوط به textbox ها رو توي رويداد Selected Chenged هم بنويسيم بازم اجرا نميكه. بايد چي كار كرد

anooshiran
پنج شنبه 09 مهر 1388, 20:08 عصر
سلام دوستان عزيز

من با اجازه دوست خوب و بزرگوارم Alimanamيك دستكاري كوچك در كد ايشان كردم كه به نتيجه دلخواه دوستان برسه.

viper2009
جمعه 10 مهر 1388, 01:49 صبح
سلام دوستان عزيز

من با اجازه دوست خوب و بزرگوارم Alimanamيك دستكاري كوچك در كد ايشان كردم كه به نتيجه دلخواه دوستان برسه.

از دستور For استفاده کردید و گفتید از 0 تا 16 مثلاً
اگر بی نهایت رکورد باشه چطوری بفهمیم؟

anooshiran
جمعه 10 مهر 1388, 10:46 صبح
از دستور For استفاده کردید و گفتید از 0 تا 16 مثلاً
اگر بی نهایت رکورد باشه چطوری بفهمیم؟

سلام دوست عزيز

اين فقط يك مثال ساده است. طبيعي است كه شما اطلاعات را از Table ميگيريد و به Datasource متصل مي كنيد و اصلا نياري به آن حلقه نداريد. من فقط خواستم روش انتخاب يك cell يا row را نشان دهم.

vb.net2008
شنبه 11 مهر 1388, 22:48 عصر
يه مشكل ديگه. اين كد
DataGridView1.CurrentCell = DataGridView1.Item(0, 2)
سطر مورد نظر رو بعد از اينكه رويداد selected chenged اجرا شد، انتخاب ميكنه. من ميخوام رويداد selected chenged در حالي اجرا بشه كه سطر مثلا 2 ، سطر جاري باشه.

viper2009
شنبه 11 مهر 1388, 22:52 عصر
يه مشكل ديگه. اين كد
DataGridView1.CurrentCell = DataGridView1.Item(0, 2)
سطر مورد نظر رو بعد از اينكه رويداد selected chenged اجرا شد، انتخاب ميكنه. من ميخوام رويداد selected chenged در حالي اجرا بشه كه سطر مثلا 2 ، سطر جاري باشه.


یعنی چی ؟
منظورت اینکه وقتی انتخاب شد بعنوان سطر اول باشه و انتقالش بده سطره اول؟

vb.net2008
شنبه 11 مهر 1388, 23:06 عصر
نه ببينيد كد من اينجوري كه وقتي كه سطري از datagridview‌ انتخاب بشه اطلاعات اونو توي Texbox هايي كه بالاي datagridview هست قرار ميده . اصلا مشكل من اينكه : من دو فرم دارم كه ابتدا كاربر مي يايد سطرمورد نظرش رو از datagridview انتخاب ميكنه بعدش براي ويرايش يك سري اطلاعات روي دكمه اي روي همون فرم كليك ميكنه و هدايت مي شه به يه فرم ديگه بعد از اينكه اطلاعات رو وارد كرد دكمه تاييد رو ميزنه و دوباره مي ياد توي فرم اولي اما مشكل اينجاست كه وقتي كه دوباره مي ياد توي فرم اولي سطر اول datagridview انتخاب و اطلاعاتش توي textbox ها قرار گرفتن. هر كاري مي كنم درست نميشه مشكل اساسي من textbox هاست.

viper2009
شنبه 11 مهر 1388, 23:10 عصر
نه ببينيد كد من اينجوري كه وقتي كه سطري از datagridview‌ انتخاب بشه اطلاعات اونو توي Texbox هايي كه بالاي datagridview هست قرار ميده . اصلا مشكل من اينكه : من دو فرم دارم كه ابتدا كاربر مي يايد سطرمورد نظرش رو از datagridview انتخاب ميكنه بعدش براي ويرايش يك سري اطلاعات روي دكمه اي روي همون فرم كليك ميكنه و هدايت مي شه به يه فرم ديگه بعد از اينكه اطلاعات رو وارد كرد دكمه تاييد رو ميزنه و دوباره مي ياد توي فرم اولي اما مشكل اينجاست كه وقتي كه دوباره مي ياد توي فرم اولي سطر اول datagridview انتخاب و اطلاعاتش توي textbox ها قرار گرفتن. هر كاري مي كنم درست نميشه مشكل اساسي من textbox هاست.

چرا تو همون فرم کار ویرایش رو انجام نمی دی؟

و می بایست در آخر ویرایش TextBox هات رو خالی کنی و همچنین Binding رو

مثله TextBox1.DataBinding.Clear()

vb.net2008
شنبه 11 مهر 1388, 23:16 عصر
نميشه اخه تو اون فرم دومي يكسري اطلاعات ليست ميشن و كاربر بايد انتخاب شون كنه اگه اونو بذارم تو فرم اولي فرمم خيلي بزرگ ميشه.

viper2009
شنبه 11 مهر 1388, 23:18 عصر
نميشه اخه تو اون فرم دومي يكسري اطلاعات ليست ميشن و كاربر بايد انتخاب شون كنه اگه اونو بذارم تو فرم اولي فرمم خيلي بزرگ ميشه.

یادم رفت بپرسم
ویرایش صورت می گیره؟ و فقط مشکلت سره همون خالی کردنه TextBox هاست؟

اگر فقط همینه که با Clear کردن درست می شه.

vb.net2008
شنبه 11 مهر 1388, 23:26 عصر
مشكل من اصلا خالي كردن textbox ها نيست. اصلا قصدم ندارم كه textbox ها رو خالي كنم . فكر كنم شما منظورمو متوجه نشدين. ببينيد من فقط ميخوام وقتي كه از فرم دومي مي ياد به فرم اولي سطري رو كه ، قبل از اينكه بره به فرم دوم ، انتخاب كرده بوده ، انتخاب باشه و textbox ها هم با مقادير همون سطر پر شده باشن

viper2009
شنبه 11 مهر 1388, 23:34 عصر
مشكل من اصلا خالي كردن textbox ها نيست. اصلا قصدم ندارم كه textbox ها رو خالي كنم . فكر كنم شما منظورمو متوجه نشدين. ببينيد من فقط ميخوام وقتي كه از فرم دومي مي ياد به فرم اولي سطري رو كه ، قبل از اينكه بره به فرم دوم ، انتخاب كرده بوده ، انتخاب باشه و textbox ها هم با مقادير همون سطر پر شده باشن

خیلی ببخشید که متوجه نبودم
من فکر می کنم وقتی شما در فرم دوم عمل ویرایش رو انجام می دید در آخر دوباره دیتاگرید رو به نحوی Refresh می کنید یا بطور اتوماتیک Refresh صورت می گیره

که باید عمل Select رو در آخر این کار اجرا فرمائید

vb.net2008
شنبه 11 مهر 1388, 23:40 عصر
عمل select ؟ جه جوري ؟ منظورتون اين كده DataGridView1.Rows(2).Selected = trure
اگه اينه كه جواب نميده.

viper2009
یک شنبه 12 مهر 1388, 00:20 صبح
عمل select ؟ جه جوري ؟ منظورتون اين كده DataGridView1.Rows(2).Selected = trure
اگه اينه كه جواب نميده.

من Select نمی کنم ولی وقتی ویرایش می کنم سر جاش هست

در آخر کدت گرید رو چطوری وصل کردی به دیتابیست؟

alimanam
یک شنبه 12 مهر 1388, 01:31 صبح
با سلام

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