واضح آرشیو وب فارسی:سایت ریسک: View Full Version : list box و hashtabel sanam.b06-08-2008, 09:41 PMبازم سلام جه چوری میشه اطلاعات یه hashtabel رو در یک list box نشون داد ؟(در #C) به نظر شما کد زیر چه اشکالی داره که فقط نام برنامه ونام ساختار رو نشون می ده(عناصر به hashtable اضافه میشه اما نشون داده نمیشه) !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! البته symtabel نام ساختار است !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! بعد اجرا در list box نوشته می شه compiler --symtable _H2_07-08-2008, 02:57 AMسلام واضح است که کامبو بیچاره، نمیدانم کدام آیتم ساختار symtabel را نشان دهد؟ شما نام عنصری از symtabel که باید نمایش داده شود را مشخص نکرده اید. بعد هم نیازی به add کردن دستی به کامبو نیست، شما میتوانید کل hashtable را برای نمایش تحویل کامبو بدهید. !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! sanam.b07-08-2008, 01:52 PMسلام اونی که شما گفتید انجام دادم اما حالا در خط اول کد زیر !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! خطای زیر رو میده Complex DataBinding accepts as a data source either an IList or an IListSource. حالاچیکار کنم؟ someone07-08-2008, 04:09 PMسلام. اضافه کردن یک Hashtable به DataSource یک ListBox غیر ممکن هست. دلیلش هم اجرا نشدن IList Interface هست. البته کدی که دوستمون گذاشتن در ASP.Net بدون هیچ مشکلی اجرا میشه. راه حل اول اینه که ICollection ها رو از Hashtable استخراج کنیم (key & value) و یک IList اون رو اجرا کنه. مثلا با استفاده از ArrayList که از IList ارث برده. کافیه یک کلاس جدید برای این کار بنویسین. راه حل دوم که ساده تر و کاربردی تر هست استفاده از کد زیر هست : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! موفق باشین. sanam.b07-08-2008, 08:16 PMسلام جناب someoneاز لطف شما ممنونم اما من از کد شما زیاد سر درنیاوردم فهمیدم مقادیری ره به hashtable اضافه کردید و می دونم foreach چیه و چیکار میکنه اما کدهایی که تو اون بود ااصلا نفهمیدم. مشکل من اینکه نمی دونم جه چوری اطلاعات رو در خروجی نشون بدم این اشکالات مربوط به همون کامپایلری که در جریانش هستید من در بخش تحلیل لغوی همه token ها و نشانه ها رو جدا کردم و در این hashtabel ریختم اما نمیدونم چه جوری و با چه کنترلی اونها رو نمایش بدم ممنون میشم اگه به من بگید این اطلاعات رو در چی نشون بدم، لازم نیست حتما لیست باکس باشه میتونه مثلا dataGrid باشه اما مسئله اینکه من طریقه ارتباط کنترل رو با hashtabel یا ساختار رو بلد نیستم همین مشکل رو با یه ArrayList دارم (همونطوری که می دونید hashtabel مقدار تکراری قبول نمی کنه بنابراین symhash فقط جدول نماده) این ArrayList کل token ها و نشانه ها برنامه رو در خودش ذخیره می کنه و تا نتونم درست با اون کار کنم نمی تونم بخش تحلیل معنایی رو هم شروع کنم دوشنبه 21 هم آخرین وقت تحویل پروژه است(لازم نیست حتما برنامه تکمیل باشه) اما من می خوام این چند روز رو که وقت دارم کمی روی تحلیل معناییش کار کنم اما فعلا نمایش اطلاعات در خروجی دست و پام و بسته:41: حالا که کل داستان رو می دونید، یه فکری به حال من بکنید _H2_08-08-2008, 12:57 AMسلام Complex DataBinding accepts as a data source either an IList or an IListSource در این مورد من یادم نبود و اشتباه کردم، همانطور که کاربر someone گفتند، hashtable واسط IList را پیاده سازی نمیکند. اصلاً همه (یا بیشتر) کلاسهایی که واسط IDictionary را پیاده سازی کرده اند و سیستم کلید-مقدار دارند، واسط IList را پیاده سازی نمیکنند. پیشنهاد: 1- میتوان با وراثت، پشتیبانی از واسط IList را اضافه کرد. 2- از DataTable استفاده کنید. 3- از همون روش خودتان و کدی که جناب someone گفتند، برای اضافه کردن دستی مقادیر به کامبو استفاده کنید. در مورد پست آخری هم که نمیدانم، جریان چیست، ولی DataGridView کنترلری مناسب برای نمایش حالات پیچیده و سفارشی است. sanam.b08-08-2008, 02:53 AMسلام آقا سواد من تو برنامه نویسی صفره (البته صفر هم نیست همون -6- تا -7-) برنامه ای که من قرار تحویل بدم اینکه که یه متن رو از کاربر می گیره و به اجزائ تشکیل دهنده مثل کلمات ،اعداد،حروف و علائم تجزیه می کنه وبا مشخصات خودش !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! در hashtabel ذخیره می کنه حالا مشکل من اینکه اینtoken هاو مشخصاتشون رو باید درخروجی نشون بدم (نظر من روی یه لیست باکس 4 ستونی بود اما حالا تو تک ستونیش موندم واسه همین بود که datagridرو پیشنهاد دادم) !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! قسمتهایی از کد که قرمز شده رو نمی دونم چیکا رمی کنه ممنون میشم اگه یه نفر واسه من توضیح بده تا من بتونم توی برنام ام ازش استفاده کنم _H2_08-08-2008, 03:17 PMسلام با توضیحی که دادی، به نظر میرسد به سیستم Dictionary (کلید-مقدار) مثل hashtable نیاز ندارید. پیشنهاد من برای نگه داری اطلاعات کلاسس System.Collections.Generic.List است که جنریک است. با تجزیه متن هم مشکل دارید؟ شاید امکانات Regex بتواند کمکی کند. بهرحال پیشنهاد میکنم، در حلقه که موارد را پیدا میکنید، تک تک آیتم ها را به List فوق Add کنید. سپس میتوانید، List فوق را به عنوان منبع به DataGridView بدهید و کاملاً به دلخواه خود نمایش را تنظیم کنید. رنگ و فونت و عنوان ستون و ReadOnly و Select سطری و ... البته برای این موارد بجز DataGridView کنترلر ListView هم در حالت Detail مناسب است ولی باید دستی مقادیر را مستقیماً به کنترلر Add کرد. سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 243]