PDA

View Full Version : مشکل با رویداد leave در textbox و combobox



beginerc#
جمعه 21 خرداد 1389, 15:14 عصر
سلام
بازم یه مشکل دیگه:ناراحت: خدایی اگه این بچه های این فوروم نبودن باید چه میکردم!!
من دارم رو یه برنامه ساده کار می کنم که هم با سی شارپبیشتر آشنا شم و هم یه کاری کرده باشم واسه خودم،الان توی برنامم می خوام مقادیر چندتا کمبوباکس را با توجه به مقدار انتخاب شده تو هرکدوم اونها از دیتابیس پرکنم،تا اینجاش که مشکلم با دیتابیس بودو هست و هنوزم توی کار با دیتابیس گیجم که هیچ، مربوط به این تاپیک نمیشه:گیج: حالا برای اینکار میام و موقع ترک کمبوباکس توی رویداد leave کد منویسم که بقیه کمبوباکسهارو پر کنه،اما مشکل اینه که وقتی توی این رویداد کد می نویسم دیگه کلید tab کار نمیکنه و برای رفتن به کنترل بعدی و اجرای کد باید با موس روی کنترل بعدی کلیک کنم:متفکر: می خواستم ببینم این مشکل منطقیه و واسه همه پیش میاد!!راه حلش چیه حالا؟
بازم ممنونم از همه بچه های گل اینجا

Rejnev
جمعه 21 خرداد 1389, 15:21 عصر
به هیچ عنوان منطقی نیست.
لطفا نمونه کد بذارید ببینیم مشکل کجاست
در ضمن از کدوم خاصیت کمبو استفاده میکنید تا کمبوهای دیگه رو بر اساس اون پر کنید؟

beginerc#
جمعه 21 خرداد 1389, 15:44 عصر
سلام
مرسی بابت توجهتون
اینم نمونه

Rejnev
جمعه 21 خرداد 1389, 15:58 عصر
اون مسیج باکس که تعداد ردیف ها رو برمیگردونه رو برداری رفع میشه.
از AutoComplete استفاده نکن
از دیتا سورس و valueMember و display member استفاده کن
دوست داری کد پر کردن کمبو و پر کردن یک کمبو بر اساس مقدار یک کمبوی دیگر رو برات بفرستم؟
در اینصورت باید یکم صبر کنی. چون الآن وقت ندارم ولی نهایتا امشب یا فردا صبح مینوسیم و میذارم توی همین تاپیک

beginerc#
جمعه 21 خرداد 1389, 16:12 عصر
اون مسیج باکس که تعداد ردیف ها رو برمیگردونه رو برداری رفع میشه.
از AutoComplete استفاده نکن
از دیتا سورس و valueMember و display member استفاده کن
دوست داری کد پر کردن کمبو و پر کردن یک کمبو بر اساس مقدار یک کمبوی دیگر رو برات بفرستم؟
در اینصورت باید یکم صبر کنی. چون الآن وقت ندارم ولی نهایتا امشب یا فردا صبح مینوسیم و میذارم توی همین تاپیک
مسیج باکس رو برداشتم اما حل نشد:ناراحت:
در مورد AutoComplete هم واسه این استفاده کردم که خوب توی برنامه اصلی تعداد اسمها زیاده و هر روز تقریبا واسه 60 تا 70 نفر قراره نمره وارد بشه،واسه همین اگه قرار باشه از بین مثلا 700 تا اسم، اسمای مورد نظر رو انتخاب کرد خوب اینجوری که AutoComplete داشته باشه راحت تر میشه.
اگه لطف کنی و اون کد رو هم بذاری که خیلی ممنون میشم.

Rejnev
جمعه 21 خرداد 1389, 18:04 عصر
آیا برای تغییر auto complete به بانک وصل میشه؟
اگه طوری باشه که با هر کلیدی که کاربر میزنه، یک کوئری اجرا بشه که تعدادی نام رو از سمت بانک بگیره و بیاره توی کمبو بد نیست
در این حالت باید مثلا از حرف دوم به بعد کوئری رو اجرا کنید، و
هر کوئری که میاد باید شامل نام و یک شماره مثل شماره دانشجویی باشه که به کمبو ارتباطش بدید
و وقتی که کاربر یک شخص رو انتخاب کرد، بر اساس مقدار انتخابی(SelectedValue) که همون شماره دانشجویی باشه هر کار میخواید بکنید.
اگه بتونید یک کنترل سفارشی برای این کار بنویسید که عالی میشه. اما برای کار راه اندازی یک نمونه باید بنویسم تا ببینید قضیه ش چطوریه. پس منتظر باشید

پیشنهاد من اینه که روش رو عوض کن.
مثلا وقتی خواستی یک دانشجو رو جستجو کنی به یک فرم که مخصوص همین ایجاد شده و یکسری اطلاعات کامل تری در گریدش داره مراجعه کنی و انتخاب در اونجا انجام بشه مطمئن تره.
حالا چیکار میکنی؟

beginerc#
جمعه 21 خرداد 1389, 18:38 عصر
سلام محمد جان
ممنون بابت پیگیریت
خوب در مورد شماره دانشجویی فکر نکنم جواب بده،چون ممکنه مثلا نام خانوادگی که انتخاب میشه بین دو تا دانشجو مشترک باشه،واسه همین میخوام اول مثلا رشته از یه کمبو انتخاب که اینجوری نامها محدودتر میشه تعدادشون بد نام خانوادگی و اگه فقط یکی بود بره توی تکست باکس وارد کردن نمره ولی اگر تعداد بیشتر از یکی بود بره توی کمبوی نام که تعداد نامهای موجود محدودتر شده و نسبت به کمبوی رشته و نام خانوادگی داخل کمبوی نام ریخته شده بعد از اون باز بیام و چک کنم که اگر یکی بود بره برای واردکردن نمره و در غیر اینصورت بره توی یه کمبو مربوط به نام پدر مثلا یا کلاس یا یه چیزی که محدوترش کنه تا برسه به یک جواب...

در مورد روش دومی که گفتین اگه درست متوجه شده باشم یعنی بیام توی یک فرم جستجو رو انجام بدم و توی فرم بعدی مثلا نمره رو وارد کنم، که اینجوری فکر می کنم زمانی که برای وارد کردن نمره صرف میشه خیلی بیشتر میشه! البته خوب شما با تجربه ترین و اگه نظرتون از نظر یه شاگرد تازه کاری مثل من 100% بهتره.

Rejnev
جمعه 21 خرداد 1389, 19:47 عصر
همگی قبول داریم که راحتی انجام کار در نرم افزار از هر چیزی برای کاربر مهم تره
فرض رو بر این بگیر که استاد X لیست دانشجویان رو به این صورت داره
رضا 20
علی 19
محمد 5
....
حالا یا خودش و یا مسئول آموزش میخواد نمرات رو وارد کنه.
به هزار و یک طریق میشه برای ورود نمرات این لیست عمل کرد.
یکی اینه که کاربر ابتدا نام دانشجو رو با هر ترفندی که شده و کلی تایپ و ... پیدا کنه.
بعد حالا بیاد ببینه که چه درسهایی داره و آیا با اون استاد مچ هست یا نه و درس مورد نظر رو پیدا و انتخاب کنه و در نهایت بیاد نمره رو بده و بره سراغ بعدی ...
توی این روش امنیت اطلاعات زیر سوال میره.(البته اگه قرار باشه بقیه هم از این سیستم استفاده کنن)
خیلی هم روش وقت گیریه. کاربر هم گیج و سردرگم میشه

حالا اینو داشته باش(اگه من باشم اینطوری میرم):

1- اگه استاد وارد سیستم شده باشه که هیچ ولی اگه مسئول آموزش باشه که ابتدا لیست اساتید در مقابلشه و با یک سرچ ساده استاد رو پیدا و انتخاب میکنه.
2- مرحله بعد که استاد تعیین شده، میایم و لیست دروسی رو که اون استاد ارائه داده رو نمایش میدیم
3- کاربر در بین اون لیست دروس که در سیستم نمایش داده شده در ایکی ثانیه درس مورد نظر رو که روی لیست کاغذی هست، انتخاب میکنه.
تا اینجا درس و استاد انتخاب شده رو داریم

4- حالا که انتخاب انجام شد، لیست دانشجویانی که این درس رو با این استاد انتخاب کردن رو میاریم و در جلوی هر یک، یک مشخصات کلی از دانشجو مثل نام و شماره و عکس و ... میاریم تا استاد راحت تشخیص بده. حتی میتونی امکان جستجو هم بذاری
5- کاربر از روی لیست کاغذی، نمرات هر دانشجو رو ثبت میکنه.
چطور بود؟
میبینی که چیزی که زیاده راهه. فقط باید پیداش کنیم و تنها به فکر راحتی کاربر باشیم تا کاربر دعامون کنه و یک " پول نرم افزار نوش جونش باشه" هم بهمون بگه.:چشمک:
نتیجه گیری:
1- اول یک طرح توی ذهنت ایجاد کن و پرورشش بده و تا آخرش برو.
2- بعد این سوال رو از خودت بپرس:"آیا این روش بهترین روشه؟"
3- اگه آره برو به 4 اگه نه برو به 1
4- پیاده سازیش کن، اگه نتونستی سوال کن، ولی هرگز برای راحتی خودت از کار نزن.

beginerc#
جمعه 21 خرداد 1389, 20:16 عصر
دوباره سلام محمد جان
جسارت بنده رو ببخشید، در این مورد که شما گفتی کاملا درسته، اما اینجا مشکل من اینه که میخوام هر روز نمره تقریبا 70-80 نفر رو وارد کنم که توی یک لیست هست و این لیست شامل دانشجویان چندین کلاس مختلف و چندین رشته مختلف و به صورت نامرتب هست، واسه همین روی به یه روشی شبیه اونچیزی که بالا توضیح دادم رسیدم، حالا با این اوصاف نظر شما چیه؟

Rejnev
جمعه 21 خرداد 1389, 20:31 عصر
خواهش میکنم. اختیار دارید.
لیست نمرات به چه شکل و فرمتی هست؟(در صورت امکان با ذکر جزئیات)
این که گفتی نامرتب هست رو هم تشریح کن دقیقا چطوریه؟
لیست رو کی به شما میده؟
آیا امکان برنامه ریزی از نو برای اون سازمان هست که یک روال منظم رو بهشون پیشنهاد بدی؟
اصلا آیا کار تجاریه یا تمرینی؟
برای چه موسسه ای است؟
تعداد دروس ثابته یا متغیر؟
اساتید چطور؟
ساختار دیتابیس و جداول به چه شکلی هست؟ البته توی دیتابیسی که قرار دادی فقط یک جدول دانشجو بود!
در کل پیشنهاد میکنم قبل از هر چیزی کار طراحی دیتابیس رو بصورت کامل انجام بدی و بعد به فکر یک رابط کاربری باشی که بشه اون جداول رو پر کرد

beginerc#
جمعه 21 خرداد 1389, 20:47 عصر
کار که تقریبا جنبه تمرینی داره واسه خودم، چون تازه کارم می خوام با یه پروژه شروع کنم واسه خودم که هم یاد بگیرم و اگرم قابل قبول شد واسه خودم بدم اونجا هم استفاده شه،در حال حاضر نمره ها رو بصورت دستی توی یه فایل اکسل ثبت می کنن، واسه همین دیدم میتونه پروژه خوبی باشه، هم فاله هم تماشا :چشمک: یه سری سوالهایی هست که هر روز از یکسری از دانشجوها پرسیده میشه بصورت کتبی و چهارگزینه ای (جنبه فرهنگی داره سوالاش بیشتر :دی) و بعد نمره همون لحظه بترتیب تحویل برگه (که هر فردی و از هر کلاس و رشته ای بسته به زمان مورد نیاز خودش برگش رو تحویل میده ) نوشته میشه،واسه همین لیستها نا مرتب هستن.

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

beginerc#
یک شنبه 23 خرداد 1389, 15:47 عصر
یعنی کسی از دوستان نمی دونه چرا این مشکل در هنگام leave پیش میاد؟