PDA

View Full Version : اشکال TEXT BOX وصل شده به DATA BASE



khadem1386
پنج شنبه 12 دی 1387, 12:43 عصر
سلام من یک تکسباکس را به یک فیلد NUMBER (INT در دیتا بیس BIND کردم


DataBinding در واقع برای خواندن و نوشتن اطلاعات در دیتاست توسط کنترل های فرم
مثلا یک TextBox رو به یکی از فیلد های جدول درون دیتاست Bind می کنید مثلا فیلد نام یا نام خانوادگی
حالا شما اگر بین رکوردها جا به جا بشید مقادیر درون TextBox مقادیر همان فیلد در رکورد جاری می شود
حالا اگر شما مقدار درون TextBox رو عوض کنید همان فیلد در رکورد جاری در Dataset تغییر می کند( عمل Edit)

سلام من یک تکسباکس را به یک فیلد NUMBER (INT در دیتا بیس BIND کردم.
حالا اگر کاربر داخل TEXTBOX متن بنویسه دیگه از این TEXTBOX بیرون نمی تونه بیاد نه با موس نه با TAB و نمی تونه بره توی TEXTBOXدیگری.
حالا من چه کار کردم آمدم و TEXTBOX را طوری برنامه ریزی کردم که اصلا متن نگیره و فقط عدد دریافت کنه. ولی مشکلی وجود داره اگر کاربر عدد بنویسه و آنرا پاک کنه باز هم همین مشکل بوجود می یاد یعنی حالا برنامه نمی گذاره تا TEXTBOX را خالی ترک کنم حتی اجازه نمی ده فرم را با ضبدر قرمز ببندم. تا اینکه یک عددی داخل TEXTBOX بنویسم.

اگر از داخل TEXTBOX فقط با TAB عبور کنم مشکلی پیشنمیاد ولی اگر داخل TEXTBOX تغییراتی بدم مثلا یک عدد بنویسم و پاک کنم دیگه اجازه هیچ کاری را نمی دهد. تا این تکسباکس را با عدد پر کنم.
حالا من چه کار کردم رفتم داخل خود DABEASE که پسوند mdb داره بررسی کردم که آیا مثلا از فیلد NUMBER INT من آیا اجازه NULL داره؟ خوب صفتی با نام ALLOW NULL وجود نداشت اما بجایش یک گزینه بود به نام Required که از قبلا برای این فیلد بر روی no تنظیم شده بود. به این ترتیب معنی آن این است که این فیلد allow null است . اکنون نمی دانم که چه بکنم.


برای توضیح اضافه می کنم که من سیستم را به این صورت ساخته ام:

یک dataset دارم که بوسیله یک کویری یک table addapter را تغزیه می کنه و من بوسیله اوبجکت BindingNavigator در بین رکوردهایم حرکت می کنم و قتی که داخل فیلدهایم را تغییر می دهم آنها را sAVE می کنه و وقتی که وارد رکورد دیگری می شوم اطلاعات مربوط به آنرا در TEXTBOX های من که به آن BIND شده اند نشان می دهد. یعنی اینکه سیستم تغیربا کار می کنه ولی این مشکلی را که در بالا وجود داره نیز هست.

این هم کوئری که باهاش TABLE ADAPTER را پر می کنم.

SELECT Table1.* FROM Table1


چکونه می شه TEXTBOX را خالی، ترک کرد.
اگر بجای خالی 0 را بنویسم به مشکل بر نمی خورم و می شه TEXTBOX را ترک کنم. ولی اگر یک عدد بنویسم و بعد آنرا پاک کنم دیگه اجازه خروج نمی ده و نمی شه روی هیچ اوبجکت دیگه FOCUS کرد.

قبلا از هر گونه کمک یا توجه متشکرم

khadem1386
پنج شنبه 12 دی 1387, 13:34 عصر
یک مشکل دیگه تو همین پروژه :
اگر دقت کنید در بعضی از برنامه ها وقتی با tab وارید یک text box می شید تمام متن داخل آن select می شه
من قبلا این کار را در vb6 کرده ام.
اما حالا در پروژه من این اتفاق افتاده بدون اینکه من کاری انجام داده باشم یا کدی در باره select کردن متن داخل textbox نوشته باشم. یک جا هایی از برنامه این مساله ی خود به خودی اذیت می کنه.

من نمی خوام با tab که وارد یک text box می شم متن داخل آن select بشه.

علت اینکه این موضوع را این جا مطرح می کنم بخاطر اینکه دوباره نمی خوام کلی پروژم را توضیح بدم. و گرنه باید یک تاپیک جدا می ساختم برای این مساله


تشکر

khadem1386
جمعه 13 دی 1387, 14:57 عصر
کسی از دوستان نظری نداره؟

ممنون