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

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




صفحه 2 از 7 اولاول 123456 ... آخرآخر
نمايش نتايج 11 به 20 از 61

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

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

    پيش فرض

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

    =====

    اول اینکه: چگونه داده درون کمبو باکس وقتی درجی اتفاق می افته، درست به گزینه ای اشاره بکنه که تازه درج شده
    آیا گزینه تازه درج شده شما، اخرین گزینه نیست؟ چه معیاری برای تشخیص آخرین درج دارید؟ primarykey جدولتان چیست؟ primarykey در زمان درج مشخص است یا حالت autonumber ای دارد؟

    سوال دوم: چه جوری به دیتاگرید بفهمونم که همانجایی رو نشون بده که کمبو هم داره نشون می ده
    گراید شما سطری را نمایش میدهد، در حالی که یک combo معمولاً یک آیتم خاص را نمایش میدهد.
    یعنی شما یک گراید کامل دارید که کل جدول را نمایش میدهد و یک combo که فقط یک فیلد جدول را نمایش میدهد!!!؟

    من از DataGrid استفاده می کنم نه Datagridview
    این بسیار غیر محتمل است!
    کنترلر DataGrid از Framework1 وجود داشت و در Framework2 برای سازگاری حفظ شد ولی مخفی شد و در عوض پیشنهاد شد از کنترلر DataGridView جدید استفاده شود.
    پروژه شما یا باید upgrade شده از 2003 باشد یا دستی DataGrid را دستی Toolbox اضافه کرده باشید.
    در هر صورت عموماً DataGridView ساده تر و معمول تر است و بهتر است شما هم به سادگی از کنترلر جدیدتر استفاده کنید.

    آیا زمانیکه ویرایشی یا حذفی و یا درجی در بانک اطلاعات اتفاق می افتد، رخدادی صدا زده می شود؟
    هر دو کنترلر فوق الذکر رویدادهایی دارند، مثل CellEndEdit و CellClick و CurrentCellChanged و رویدادهای DataGridView بسیار بسیار بیشتر و کاملتر است ولی نمیدانم برای به چه دردتان خواهد خورد و میخواهید چه کنید!

    آیا می توان این دستور را دستکاری کرد تا شماره سطری خاص به صورت تصادفی را تولید کند؟
    اصلاً متوجه نشدم!
    میخواهید یک سطر را شانسی انتخاب کنید؟؟

    =====

    موفق باشید.

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

    پيش فرض

    با سلام
    یکی از مشکلات این سایت این است که کاربران نمی توانند فایل های خود را در برنامه ضمیمه کنند و این مطلب مشکلات زیادی را پدید می آورد. نمی دانم دلیل مدیران محترم برای این کار چیست؟
    اگر می شد این کار را کرد، آن وقت هم من راحت تر سوال ام را مطرح می کردم و هم برای شما نحوه طرح سوال گنگ و نامفهوم نبود.

    یک بار دیگر سوالم را مطرح می کنم:

    1- من جدولی دارم با دو ستون که هر دو ستون آن کلید خارجی است و رویهم می شوند یک کلید اصلی برای جدول. این جدول طرح خودم نیست و از جدول های خود SQL2000 استفاده می کنم.

    2- من از وب سرویس برای درج در این جدول استفاده می کنم. البته برای جواب سوال من شاید نکته مهمی نباشد ولی توضیح دادم.

    3- من از dataset برای پر کردن سطرهای این جدول استفاده می کنم و آن را از سمت سرور برای مشتری می فرستم. شاید اینهم چندان مهم نباشد.

    4- حالا می رویم سمت مشتری. من در سمت مشتری از DataGrid برای نمایش این سطرها استفاده می کنم. نمی دانم چرا از DataGrid استفاده کردم ولی تمام پیکر کارم بر اساس این شیء و رویداد های آن بنا شده است و چون وقت ندارم نمی توانم از شیء دیتا گرید ویو استفاده کنم. ای کاش این موضع را زودتر می فهمیدم.

    5- روی فرم برنامه من یک کلید برای درج و تک باکس هایی برای ورود اطلاعات است. اینهم چندان مهم نیست.

    6 -سطرهای جدول مورد نظر بر اساس یکی از فیلدها که کلید اصلی جدول دیگر است و در این جدول به عنوان کلید خارجی است به صعودی مرتب است. یعنی وقتی درجی انجام می شود ، سطر تازه درج شده هم از ترتیب تبعیت می کند. مثلاً می رود در بین سطرهای دیگر جای می گیرد.

    6- وقتی بر اثر فشردن دکمه درج ، وب سرویس مورد نظر فراخوانی می شود، سطرهای درون dataset تازه می شوند و این بار رکورد تازه درج شده روی datagrid ظاهر می شود. در وب سرویس ، بعد از عمل درج دوباره dataset پُر می شود.

    7- من با دو حلقه عمل مقایسه را بین دو داده وارد شده توسط کاربر و داده های دو ستون DataGrid را انجام می دهم و می توانم به سطری که تازه درج شده برسم و اشاره گر DataGrid را روی آن سطر منقل کنم. ولی مسلماً این کار ، کارایی ندارد. می خواهم بدانم آیا راهی وجود دارد که به صورت مستقیم بروم روی همان سطر تازه درج شده یا تنها راه آن استفاده از حقه هاست.


    انشاء الله که درست مساله را مطرح کرده باشم.

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

    پيش فرض

    جناب -h2- عزیر
    ضمن عرض سلام و تشکر از شما، خواهشی داشتم
    من فقط تا ساعت 12 شب روز چهارشنبه(همین هفته) می توانم از خط تلفن برای ارتباط با اینترنت استفاده کنم. به همین خاطر خواهش می کنم هر انچه من باید در این رابطه بدانم را برایم آموزش دهید.
    به قول ابوریحان بیرونی که می گفتند: اگر بدانم و بمیرم بهتر است یا ندانم و بمیرم؟
    همین قضیه شرح حال من هم شده ولی با کمی تغییر

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

    پيش فرض

    راستی یادم رفت بگم که:
    من اجازه Sort را در دیتا گرید از کاربر سلب کرده ام
    تمام سطرهای جدول را به کاربر نشان می دهم
    کاربر می تواند روی ستون ها و سطرهای دیتا گرید کلیک کند و به دنبال داده ای بگردد. هر جا کلیک کند بالافاصله محتویات آن سطر برایش نشان داده می شود.
    دیتا گرید شامل قسمتی از سطرهای جدول مورد نظر نیست . شامل همه سطرهای جدول مورد نظر است.

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

    پيش فرض

    باز هم سلام
    ببخشید که مطالب را تیکه تیکه یادم می یاد.
    جناب -h2- عزیر، هر سوالی که به ذهنتان می رسد را مطرح نمایید تا به آنها پاسخ دهم.
    دیگر مطلبی به ذهنم نمی رسد تا در این پست قرار دهم.
    با تشکر

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

    پيش فرض

    سلام
    یکی از مشکلات این سایت این است که کاربران نمی توانند فایل های خود را در برنامه ضمیمه کنند و این مطلب مشکلات زیادی را پدید می آورد. نمی دانم دلیل مدیران محترم برای این کار چیست؟
    دلیلش مشخص است! به علت مصرف فضای سرور.
    مخصوصاً که MySQL در ضمینه مدیریت پیشرفته دیتاهای binary هم مشکلاتی دارد.
    شما میتوانید فایلهای خود را در بیشمار سایتهای آپلود رایگان آپلود کنید و اینجا لینک دهید.

    اگر میخواهید من یک برنامه بسیار ساده و آزمایشی برایتان درست میکنم که دیتایی را Insert کند و در هر شرایط به گراید اضافه شده و select شود، با هر sort ای در گراید و هر مجموعه سطرهای و بدون for کار کند.

    فقط من باید کاری را سه شنبه تحویل دهم و کار بسیار بسیار عقب است، نتیجتاً فوقش چهارشنبه میتوان مثال را برایتان حاضر کنم و بحث را ادامه دهیم. (علت تاخیر جواب هم همین است.)

    حتماً سعی میکنم پروژه نمونه برایتان 4شنبه آپلود کنم.
    میبخشید و موفق باشید.

  7. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


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

    پيش فرض

    سلام
    فقط اگر لطف کنید و قبل از ساعت 12 شب آدرس این برنامه رو بدید تابتونم دانلود کنم ممنون می شم.

    با تشکر

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

    پيش فرض

    سلام
    متاسفانه پروژه تحویلی خودم تمام نشد و مجبور شدم چند روزی تحویل را عقب بیاندازم.

    ولی نمونه کدی برای شما حاضر کردم.
    نمونه کد با #C است و از DataGrid قدیمی استفاده میکندف کلید جدول هم دو فیلد String مشترک هستند.
    برای سادگی و اجرا در همه سیستمها از بانک access استفادهکردم ولی این مطلب مطلقاً تفاوتی در کد ایجاد نمیکند.

    پروزه یک TypedDataSet به همراه یک TypedDataAdapter دارد که میشد معمولی هم باشند ولی احتمال دادم اینطوری مستند و شفاف تر خواهد بود.

    از هر دو کامپونت فوق روی Form برنامه قرار داده ام و یک کامپونت BindingSource هم گذاشته ام
    (البته احتمالاً DataView بازدهی بیشتری دارد ولی چون در ToolBox2008 به صورت پیشفرض وجود ندارد، گفتم استفاده از BindingSource ساده تر خواهد بود.)

    در واقع وقتی DataSource گراید شما مستقیماً یک DataSet باشد، گراید مجبور میشود به طورداخلی از یک DataView برای ترتیب نمایش استفاده کند و عملاً ایندکس سطر در گراید با ایندکس آن در DataSet هیچ رابطه ای نخواهد داشت.

    ولی اگر از یک BindingSource استفاده شود و ان به DataSet وصل شود و گراید به BindingSource این مشکل حل میشود و ایندکس سطرهای گراید همواره با ایندکس BindingSource برابر خواهد بود، نتیجتاً یافتن آیتم در BindingSource یافتن آن در گراید خواهد بود.

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

    کد باید قدرتمند، روان و ساده باشد.
    h02.ir/Download.aspx?File=DataGridOrdinal.zip

    ... ساعت 12 شب روز چهارشنبه ...
    گمانم 23 ساعت و نیم وقت داشته باشید!
    موفق باشید.

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

    پيش فرض

    سلام
    راستی یک سوال مهم!
    من الآن کمی وقت کردم و پست 12 تان را خواندم!!!!!!
    یک کم مشکوک بید!


    پست 10 شما حاوی یک کد صددرصد دسکتاپی و غیر وبی است (و پست 9) که من گمان میکنم برنامه شما ویندوزی است ولی:
    SQL2000 = سرورهای زمان هخامنشیان!
    وب سرویس = استفاده بیشتر در برنامه های وبی.
    DataGrid = یک کنترلر قدیمی ویندوزی و یک کنترلر روز ASP.Net !
    تحت ASP.Net و وب که کدنویسی نمیکنید؟ (انشا ا...) یعنی برنامه تان ویندوزی-دسکتاپی است؟ (انشا ا...)
    (چون کد مثال من که برایتان آپلود کردم ویندوزی-دسکتاپی است.)

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

    پيش فرض

    با سلام
    اولاً من فقط توانستم کدهای درون فرم را باز کنم و ببینم. بقیه باز نمی شود. در ضمن فایل exe هم باز شد. در Ram عمل درج انجام می شد. این امر طبیعی است چون ارتباطی با جدولی وجود نداشت. هر گاه عمل درجی انجام می شود، اشاره گر می رود آخرین سطر را نشان می دهد. وقتی ستونی از DataGrid را Sort می کنم ، داده درج شده نیز از این مرتب سازی تبعیت می کند ولی باز هم اشاره گر می رود روی سطر آخر می ایستد. یعنی تا اینجا به هدف نرسیدم.
    در خطوطی که بلوکه شده اند ، قسمت هایی با خط زیر مشخص شده اند. این عناصر در VS2005 برای این شیء وجود ندارند.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    منظورم BindingSource و MainTableRow است.
    چگونه معادل کلاس ها و اشیایی که در VS2008 وجود دارند و در VS2005 وجود ندارند را پیدا کنم؟
    چون خود فرم باز نمی شود من نمی توانم بفهمم که شما از چه اشیائئ و با چه نامی استفاده کرده اید

Thread Information

Users Browsing this Thread

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

User Tag List

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

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

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