تبلیغات :
خرید لپ تاپ استوک
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 6 از 7 اولاول ... 234567 آخرآخر
نمايش نتايج 51 به 60 از 61

نام تاپيک: اشاره کمبو باکس و دیتاگرید به رکورد تازه درج شده

  1. #51
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    Error because "EmployeeID" in "Employeey Table" is an identity
    شما قبول دارید که در جدول شما EmployeeID یکتا نیست و میتواند بارها تکرار شود؟؟؟؟
    چطور انتظار دارید، آدرس بدهید "تهران پلاک 14" و طرف منزل مورد نظر را پیدا کند؟؟؟ مگر یک پلاک 14 وجود دارد؟؟؟

    - کلید یکتای جدول شما جفت EmployeeID و TerritoryID با هم هستند.
    شما باید جفت مقدار EmployeeID و TerritoryID را با هم بدهید تا آدرستان تکمیل شود و فقط و فقط یک سطر پیدا شود که ایندکسش قابل بازپس دادن باشد.

    - راه دیگر این است که قبول دارید EmployeeID به تنهایی ممکن است چندین عدد باشد ولی برای شما پیداکردن اولین مورد کافی است و نیازی به موارد دیگر ندارید، که در این صورت باید از DataTable.Select به همراه DataView.Find استفاده کنید.

  2. #52
    آخر فروم باز قله بلند's Avatar
    تاريخ عضويت
    Mar 2008
    پست ها
    1,471

    پيش فرض

    با سلام
    در پست قبلی ام از جدول Emploeeies استفاده کرده ام که دارای کلید منحصر به فرد EmploeeyID است.
    مثل اینکه پست قبلی ام را کامل نخواندید و یا به خاطر تشابه اسمی این دو جدول ، ان را مطالعه نکردید.
    به هر حال: من تا یک قدمی جواب پیش رفته ام ولی نمی دانم چرا یک خطای عجیب صادر می شود:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    نمی دونم چرا از str_LastName ایراد می گیره. می گوید: رشته ورودی در قالب مناسب نبست. در حالی که رشته تهی نیست و همه چیز درست است.
    در واقع از این قسمت ایراد می گیرد:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  3. #53
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    در پست قبلی ام از جدول Emploeeies استفاده کرده ام که دارای کلید منحصر به فرد EmploeeyID است.
    مثل اینکه پست قبلی ام را کامل نخواندید و یا به خاطر تشابه اسمی این دو جدول ، ان را مطالعه نکردید.
    آخه از اول بشریت این تاپیک صحبت روی EmployeeTerritories بوده یکدفعه شد Employees با روش یک خط در میان خواندن من مشکل ساز شد!میبخشید.

    نمی دونم چرا از str_LastName ایراد می گیره. می گوید: رشته ورودی در قالب مناسب نبست
    مقدار EmployeeID یک عدد int است، احتمالاً با (int.Parse(str_LastName مشکل حل خواهد شد.

  4. #54
    آخر فروم باز قله بلند's Avatar
    تاريخ عضويت
    Mar 2008
    پست ها
    1,471

    پيش فرض comboBox_SelectionChangeCommitted

    با سلام فراوان، به بلندای یافتن جواب
    یک مورد فوق جالب:
    وقتی رویداد comboBox_SelectedIndexChanged صدا زده می شود، یک اتفاق جالبی می افتد که در مورد comboBox_SelectionChangeCommitted صادق نیست.
    رویداد comboBox_SelectionChangeCommitted صبر می کند تا کاربر مقداری را از کمبو باکس انتخاب کند. یعنی ساکت و بی آزار و اذیت است و تا وقتی که از او کاری نخواسته اید و پا روی دمش نگذاشته اید ، کاری به کار شما ندارد،
    امـــــــــــــــــــــــ ـــــا
    جناب comboBox_SelectedIndexChanged، اصولاً به هر کاری کار دارد و هنوز فرم بارگذاری نشده(load نشده) ، خود را فرا می خواند. مشکل از اینجا شروع می شود که قبل از بار گذاری فرم ، ما valuemember نداریم، پس به جای یک مقدار واقعی، مقدار رشته ای System.Data.DataRowView باز گردانده می شود.
    پس معلوم شد که قبل از بار گذاری فرم ، ما اصلاً مقداری برای جستجو در تابع Find نداریم ،برای همین است که خطای زیر را صادر می کند:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا راهش چیست که از این مهلکه خلاص شویم؟
    یک راهش استفاده از رویداد comboBox_SelectionChangeCommitted است. تمام کدهای گفته شده در رویداد comboBox_SelectedIndexChanged را به درون رویداد comboBox_SelectionChangeCommitted منتقل کنید.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    و اما راه دوم:
    راهی نداریم مگر اینکه جلوی فراخوانی رویداد comboBox_SelectedIndexChanged را قبل از بارگذاری فرم بگیریم.
    چگونه؟
    فعلاً نمی دانم.

  5. #55
    آخر فروم باز قله بلند's Avatar
    تاريخ عضويت
    Mar 2008
    پست ها
    1,471

    پيش فرض

    سلام

    آخه از اول بشریت این تاپیک صحبت روی employeeterritories بوده یکدفعه شد employees با روش یک خط در میان خواندن من مشکل ساز شد!

    خواهش می کنم. شما استاد هستید. اگر راهنمایی های شما نبود که به جواب نمی رسیدم.

  6. #56
    آخر فروم باز قله بلند's Avatar
    تاريخ عضويت
    Mar 2008
    پست ها
    1,471

    پيش فرض comboBox_SelectedIndexChanged

    با سلام
    یک عدد جواب برای مشکل comboBox_SelectedIndexChanged که در پست قبل مطرح کرده بودم یافتم. هنوز امتحانش نکردم ولی انگار جوابی رویایی است. به ترتیب سه خط کد زیر دقت کنید.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    منبع:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    همون طور که مشکل من حل شد، امیدوارم مشکل دوستانم هم که بعداً این تاپیک رو مشاهده می کنند نیز حل شود.

    در پناه حق

  7. #57
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    در هر صورت انگار مشکلتان حل شده ولی اصول کار اینطور است که هر مقداری از ورودی را قبل از مصرف اعتبار سنجی کنید مثلاً:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    یا در این مورد خاص شاید کد زیر بهتر باشد...
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    تا حد امکان به ورودی های کاربران از کنترلرها غیر مطمئن و مشکوک باشید(!) و فکر هر ورودی و شرایطی را از ورودی داشته باشید تا برنامه تان مستحکم شود و در شرایط غیر معمول و خاص هم همچنان صحیح کار کند.

    موفق باشید.
    Last edited by _H2_; 07-01-2009 at 15:47.

  8. #58
    آخر فروم باز قله بلند's Avatar
    تاريخ عضويت
    Mar 2008
    پست ها
    1,471

    پيش فرض کدهای نهایی

    قطعه کد زیر ، کد کامل استفاده از comboBox_SelectedIndexChanged است:
    Combobox3 محل ذخیره سازی FirstName است و Combobox2 برای LastName .
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    قطعه کد زیر ، کد استفاده از comboBox_ SelectionChangeCommitted است:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    و پـــــــــــایـــــــــان

  9. #59
    آخر فروم باز قله بلند's Avatar
    تاريخ عضويت
    Mar 2008
    پست ها
    1,471

    پيش فرض

    تا حد امکان به ورودی های کاربران از کنترلرها غیر مطمئن و مشکوک باشید(!) و فکر هر ورودی و شرایطی را از ورودی داشته باشید تا برنامه تان مستحکم شود و در شرایط غیر معمول و خاص هم همچنان صحیح کار کند.
    با سلام
    به نظر دیگر داده Null تولید نمی شود. با این کدها دیگر از تولید داده تهی جلوگیری می شود.
    ممنون از همه کمک ها و همه همراهیتان.
    واقعاً از این بحث لذت بردم و توشه ای از علم اندوختم.

  10. #60
    آخر فروم باز قله بلند's Avatar
    تاريخ عضويت
    Mar 2008
    پست ها
    1,471

    پيش فرض آنچه از این بحث در یافتم

    جمع بندی

    1-سوال: اشاره کمبو باکس به سطر تازه درج شده
    جواب: داده­ای که قرار است درج شود به طریقی نگهداری شود. مثلاً با یک TextBox یا یک داده از نوع رشته. حالا این داده کاراکتری را به صورت زیر به کمبوباکس مورد نظر نسبت می دهیم .
    mycombobox.text=mystring
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پست ششم

    2-سوال:یافتن آخرین سطر از dtaGrid
    جواب: توسط کد زیر:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پست دهم

    3-یک نمونه کد که توسط جناب -H2- و در VS2008 نوشته شده است. موضوع این پست راجع به جدول EmployeeTerritories و دو فیلد این جدول با نام­های EmployeeID و TerritoryID است. این جدول از دو جدول Employees و Territories مشتق شده است. این جدول در پایگاه داده Northwind قرار دارد.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پست هیجدهم

    4-نمونه کد بالا در VS2005 که توسط جناب -H2- تبدیل شده است:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پست بیست و یکم

    5-کاری را که خودم انجام دادم و آن را برای اشکالگیری در آدرس زیر گذاشتم:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پست سی و ششم

    6-یافتن جوابی برای DataView.Find و پیدا کردن سطر مورد نظر از طریق این دستور:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پست چهل و یکم

    7-عملی که DataView.FindRows انجام می دهد برای یافتن تعداد سطرهای تاثیر گرفته از یک تراکنش:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پست چهل و چهارم

    8-سوال: مطرح کردن سوالی در مورد مرتب سازی دو کمبو باکس به صورت صعودی و انتخاب شدن سطر مورد نظر در DataGrid بعد از انتخاب داده مورد نظر در کمبوباکس
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پست چهل و پنجم

    9-راه های پُر کردن DataList (DataList راهی برای مرتب سازی داده درون DataView)
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پست­های چهل و هفتم و چهل و هشتم

    10-جوابی بر سوال های مطرح شده در پست های 44، 45، 46، 47 و 48 توسط جناب -H2-:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پست­ چهل و نهم

    11-استفاده از جدول Employees از پایگاه داده Northwind با سه فیلد EmployeeID (کلید اصلی)، LastName و FirstName برای مرتب سازی دو کمبو باکس که حاوی LastName و FirstName هستند. البته این جدول فیلدهای دیگری هم دارد ولی در اینجا قابل استفاده نیستند. در این پست سوالی نیز راجع به comboBox_SelectedIndexChanged مطرح می شود.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پست­ پنجاهم

    12-یافتن جوابی برای سوال مطرح شده در پست پنجاهم: comboBox_SelectionChangeCommitted
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پست­ پنجاه و چهارم

    13-جوابی برای comboBox_SelectedIndexChanged
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پست­ پنجاه و ششم

    14-تلفیق پست های پنجاه و چهارم ، پنجاه و ششم و پنجاه و هفتم در پست پنجاه و هشتم
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پست­ پنجاه و هشتم


    چند نکته:

    1-هرگاه بخواهید از از دستور DataView.Find برای یافتن شماره سطر مورد نظر استفاده کنید باید DataView را مرتب کنید. اگر DataView را با یک فیلد مرتب می کنید ، لیستی از object در تابع Find تشکیل نمی شود ولی هرگاه DataView را با ییش از یک فیلد مرتب کنید باید به ترتیب آنها را در لیست اشیاء متذکر شوید. مثلاً اگر DataView را با LastName و FirstName مرتب کنید و مثلاً مانند همین برنامه ، LastName را در textbox1 و FirstName را در textbox2 ذخیره کنید باید در تابع Find اینگونه بنویسید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    2-اعتبار سنجی داده قبل از استفاده آن به استحکام برنامه کمک می کند. مانند هر آنچه در پست 57 به آن اشاره شده است.

    3- سه راه برای شمارش تعداد سطرهای تاثیر گرفته بعد از تراکنش وجود دارد:
    مقدار برگشتی دستور ExecuteNonQuery که مشخص کننده تعداد سطرهای تاثیر گرفته بعد از تراکنش است. این مقدار یک عدد صحیح است. از عدد صفر به بالا.
    شمارش تعداد سطرهای DataGrid که در پست دهم به دستور آن اشاره شده است.
    استفاده از دستور DataView.FindRows که در پست چهل و چهارم به آن پرداخته شده است.

    4-با استفاده از دستور زیر یا به صورت ویزاردی ، اجازه مرتب سازی dataGrid را از کاربر بگیرید زیرا با مرتب سازی دلخواه کاربر ، برنامه کار نخواهد کرد.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    و همچنان آماده یادگیری مطالب جدید هستم.

    قله بلند
    Last edited by قله بلند; 10-01-2009 at 02:12.

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

برچسب های این موضوع

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •