PDA

View Full Version : انتقال مقادیر یک textbox موجود در datagrid



mahmood_comp
پنج شنبه 10 خرداد 1386, 22:42 عصر
با سلام
( در visual studio.net 2003)
به توصیه دوستان تاپیک های زیادی رو برای حل مشکلم خواندم ولی هنوز نتونستم پاسخ خوبی پیدا کنم.
دوباره سوالم رو طرح میکنم امید وارم که دوستان راهنمایی کنند:
در قسمت itemtemplate , دیتا گرید یک textbox قرار دارد که کاربر تعداد کالایی راکه در اون سطر از table مربوطه بایند شده را وارد میکند .
حال می خواهم کاربر تنها با وارد کردن تعداد کالای مورد نیاز و enter کردن به سطر بعدی رفته و این مقدار وارد شده به همراه نام آن کالا در table جداگانه ایی ثبت شود و چنانچه کاربر قصد تصحیح یکی از textbox ها را داشت بتواند با کلید های جهتی بین سطرها جابجا شود.

آِیا برای حل این مشکل لزوما باید از visual studio 2005 و gridview استفاده کنم.؟
با تشکر :ناراحت:

msakbari
پنج شنبه 10 خرداد 1386, 23:51 عصر
در WebApplictaion ها برنامه نویسی تفاوتهایی با WinApp دارند . توصیه می کنم دید WindowsApp رو برای Asp.Net در خودت راه نده چون کارت سخت می شه . به نظر من راه حل هایی را برای Design انتخاب کنید که سریعتر پیاده سازی شوند و در ضمن User.F هم باشند .

موفق باشید .

mahmood_comp
شنبه 12 خرداد 1386, 18:40 عصر
با سلام
من با گفته آقای msakbari موافقم ولی سفارش دهنده این apploation از من به این شکل از من می خواهد.

من یک پروژه از آقای راد دیدم ولی ایشون هم در هر سطر button ی به نام اضافه گذاشته بودند فکر کنم به بن بست خوردم .

یعنی هیچ راه حلی برای دسترسی به کنترل های داخل datagrid نداریم ?
تشکر:افسرده:

Alireza_Salehi
شنبه 12 خرداد 1386, 22:19 عصر
1.برای دسترسی به کنترل های داخلی دیتاگرید از متد FindControl شی GridView یا خاصیت Items میتونید استفاده کنید. (در مورد خاصیت Items در MSDN مثالش هست)

2. مسئله فوکوس در وب مثل ویندوز نیست شما اگر می خواهید با کلیدهای جهتی یا enter بین فیلدها حرکت کنید باید از جاوااسکریپت استفاده کنید - که البته یه کم کار میبره.

در ضمن یه کم وقت گذاشتن برای تشریح وضعیت برای کارفرما ، کار برنامه نویسی رو راحت تر میکنه. (البته در شرایطی که فرق دسته بیل و کیبورد برای کارفرما قابل تشخیص نیست بهتره برنامه نویسی کنید تا تشریح وضعیت)

Behrouz_Rad
شنبه 12 خرداد 1386, 23:19 عصر
من یک پروژه از آقای راد دیدم ولی ایشون هم در هر سطر button ی به نام اضافه گذاشته بودند فکر کنم به بن بست خوردم .

میشه این پروژه ی آقای راد رو ببینیم؟

mahmood_comp
یک شنبه 13 خرداد 1386, 21:17 عصر
با سلام آقای راد
من پروژه شمارو با نام Demonstrating Common DataGrid Operations مطالعه کردم .
با تشکر:متفکر:

Behrouz_Rad
یک شنبه 13 خرداد 1386, 21:21 عصر
تا اونجا که یادم هست، در هر سطر DataGrid اون برنامه، دکمه ی "ویرایش" وجود داشت نه "اضافه"!

mahmood_comp
دوشنبه 14 خرداد 1386, 07:44 صبح
با سلام
بله , دکمه ویرایش است که در هنگام اجرا در تابع DataGrid1_ItemCreated , نام اون دکمه به اضافه تغییر می کند.
در هر حال اگه امکان دلره منو در حل این مشکل راهنمایی کنید .
با تشکر :گریه:

Behrouz_Rad
دوشنبه 14 خرداد 1386, 08:32 صبح
با سلام
بله , دکمه ویرایش است که در هنگام اجرا در تابع DataGrid1_ItemCreated , نام اون دکمه به اضافه تغییر می کند.
در هر حال اگه امکان دلره منو در حل این مشکل راهنمایی کنید .
با تشکر :گریه:
شایعه درست نکن برادر!
این قسمتی از کد اون برنامه است که باعث میشه دکمه ی "اضافه" ایجاد بشه:


ElseIf e.Item.ItemType = ListItemType.Footer Then
Dim btnRemove As Button = CType(e.Item.Cells(5).Controls(1), Button)
btnRemove.Attributes.Add("onclick", "return confirmDelete();")
Dim btnAdd As New Button
btnAdd.ID = "btnAdd"
btnAdd.Text = "اضافه"
btnAdd.CommandName = "Insert"
btnAdd.BorderStyle = BorderStyle.Solid
btnAdd.BorderWidth = New Unit(1, UnitType.Pixel)
btnAdd.BackColor = Color.FromArgb(Int32.Parse("FFC080", Globalization.NumberStyles.AllowHexSpecifier))
btnAdd.Attributes.Add("Style", "Font-Family:Tahoma; Font-Size:11px")
e.Item.Cells(4).Controls.Add(btnAdd)

حالا ارتباط این کد با دکمه ی "ویرایش" کجاست؟
.................................................. .................
سوال شما در صورتی که مربوط به برنامه نویسی Server Side باشه می تونه در این قسمت مطرح بشه اما شما در مورد Client Side مشکل دارید!
فعلا تاپیک رو در این قسمت نگه میدارم.

موفق باشید.:لبخندساده:

mahmood_comp
دوشنبه 14 خرداد 1386, 09:04 صبح
با سلام
به خاطرشایعه افکنی عذر خواهی میکنم!:خجالت:
من سوالم رو در کدام یک از تالار ها مطرح کنم که پاسخ بگیرم؟

Behrouz_Rad
دوشنبه 14 خرداد 1386, 12:48 عصر
نحوه ی حرکت بین کنترل ها و کلا اعمالی که نیاز به PostBack صفحه ندارند رو در بخش HTML مطرح کنید و در صورتی که با ادغام کدهای کلاینت و سرور مشکلی وجود داشت، در این بخش مطرح بفرمایید.

متشکرم.

mahmood_comp
دوشنبه 14 خرداد 1386, 20:40 عصر
با سلام
آقای راد برای حرکت بین کنترل ها از پاسخ شما به تاپیک
( چگونگی انتقال کنترل با کلید tabدر gridview) میشه استفاده کرد ولی در datagrid ما تنها یک textbox و با یک id داریم .
من همچنین بعداز جابجایی بین textbox ها با این مشکل مواجه هستم که چگونه اطلاعات هر یک از سطر ها را داشته باشم . البته اگر می خواستم این امکان وجود داشت که در هر سطر با گذاشتن دکمه اطلاعات رو ذخیره کنم ولی مشکل اینه که من باید اطلاعات همه سطرهای انتحاب شده را تنها با یک دکمه تایید در انتهای کار save کنم.

Behrouz_Rad
دوشنبه 14 خرداد 1386, 21:27 عصر
با یک حلقه ی For Each بین سطرهای DataGrid حرکت و به هر یک از TextBox ها ارجاء پیدا کن و مقدار اونها رو در یک متغیر ذخیره کن.
مقادیر رو می تونی در یک آرایه ذخیره کنی و یا با یک Seperator از هم دیگه جدا کنی.

از کد "حذف" اعمال متداول با DataGrid یا GridView کمک بگیر.

موفق باشید.

mahmood_comp
جمعه 18 خرداد 1386, 16:25 عصر
با سلام
آقای راد من کدهای اون برنامه و همچنین کد قسمت حذف رو مطالعه کردم بعضی ار قسمتها رو اصلا متوجه نمی شم امکانش هست که داخل همین تاپیک سوال هایم رو دریاره کد های اون برنامه مطرح کنم؟
با تشکر

Behrouz_Rad
جمعه 18 خرداد 1386, 19:30 عصر
بفرمایید....