PDA

View Full Version : ثبت تغییرات DATAGRIDEدر TABLE جدید



adhami
چهارشنبه 09 آذر 1384, 11:42 صبح
DATAGRIDE را به یک تیبل از بانک اطلاعاتی که از نوع ACCESS است ربط داده ام و با استفاده از یک پرس و جو اطلاعات مورد نظر در DATAGRIDE نمایش داده می شود و به DATAGRIDE ی که اطلاعات را با آن نمایش می دهم دو تا ستون اضافه کرده ام که از نوع چک باکس هستند .
مشکل من از اینجا شروع می شه ! من می خواهم بعد از اینکه این چک باکس ها تیک خوردن تغییرات ایجاد شده + رکوردهای که الان در حال نمایش در DATAGRIDE می باشد در یک تیبل دیگه از بانک اطلاعاتی من ثبت بشه ولی هر کاری می کنم موفق نمی شم (منتظر راهنماییهای شما هستم)

nazaninam
چهارشنبه 09 آذر 1384, 12:30 عصر
خوب یه شرط بگذار و بگو اگر اون چک باکس ها تیک خورده بودند مقادیر مربوط به اون سطر رو وارد دیتابیس کن
میشه بگی دقیقا مشکلت کجاست؟؟

adhami
چهارشنبه 09 آذر 1384, 13:23 عصر
موضوع من دقیقا همین است که چطوری چک باکس های تیک خورده رو مشخص کنم
و دیگه اینکه من همزمان دو یا سه تا رکورد را می خواهم در تیبل update کنم

nazaninam
چهارشنبه 09 آذر 1384, 21:18 عصر
خوب 2 تا راه حل خیلی ساده داره که عرض می کنم بازم اگه نتونستی کدشو باست میگذارم :
1- از دستور for each استفاده کن و شروع کن به طی کردن سطر های دیتاگرید کنترل چک باکس رو پیدا کن و شرط رو اجرا کن بعد داخل همین حلقه دستور update رو بنویس تا سطر به سطر دیتابیست رو بروز رسانی کنی



For Each DGItem As DataGridItem In DataGrid1.Items
Dim chkbox As chekbox = DGItem.Cells(1).Controls(1)l
if chkbox.cheked=true then
دستورات update رو اینجا بنویس
endif
next


2- همین حلقرو اجرا کن و برای پیدا کردن کنترل چک باکست از دستو ر findcontrol استفاده کن و...



For Each DGItem As DataGridItem In DataGrid1.Items
dim chkbox as HtmlInputCheckBox = CType(DGItem.FindControl("chekbox1"),HtmlInputCheckBox)l
if chkbox.cheked=true then
دستورات update رو اینجا بنویس
endif
next


فقط در این روش دوم دقت داشته باش که از کنترل های html استفاده کنی نه کنترل های web
و برای کنترل های html مقدار runat server رو برابر tru قرار بده
با این تفاسیر روش اول روش ساده تر و منطقی تری به نظر میرسه

adhami
شنبه 12 آذر 1384, 12:15 عصر
به این خط خطا می گیره Dim chkbox As chekbox = DGItem.Cells(1).Controls(1)
با اینکه من دوباره آن را نوشتم ولی همچنان خطا وجود دارد