listview עם \n באמצע?

spheonx

New member
listview עם \n באמצע?

מישהו יכול לעזור? אני מתחבט עם העניין כבר די הרבה אני בונה תוכנה לתרגום סרטים אני משתמש בפקד LISTVIEW בכדי לשמור את רשימת הכתוביות הבעיה נוצרת כאשר יש לי תרגום אחד עם 2 שורות כמובן שזה אמור להישמר כאייטם אחד כיוון ש2 השורות מתחילות בזמן זהה ונגמרות בזמן זהה משום מה הlistview מסרב לקבל \n או newline כירידת שורה ומציג את שתי השורות של הטקסט כשורה אחת בלי רווח בין השורות מישהו יכול לעזור בעניין? אני מצרף תמונה להמחשה של הבעיה, הצד השמאלי הוא המצב המצוי, ובימין המצב הרצוי
 

Justin Angel

New member
קה פרובלמה מואי צ'יקיטה?

מלבד לדרוס את הרנדור של תא כדי לדאוג שהמחרוזות יצויירו עם שבירת שורות, אין הרבה מה לעשות עם המבנה הברירת מחדל של ListView. אז כמו שאמרתי, אפשרות ראשונה היא לשנות את הרנדור של ListView. אפשר לרשת את ListView ולדרוס את OnDrawItem (שזה מה שהיה נהוג בדוט נט 1.1). בדוט נט 2.0 תוכל להשתמש במאפיין (גם באנגלית: Property) בשם OwnerDraw שמפרט שאתה תדאג לרנדר כל תא ותא ב-ListView. ListView.OwnerDraw Property כמובן שננסה להימנע מלכתוב בעצמנו קוד +GDI היות ומדובר במלאכה ארוכה ומעייפת. לפי דעתי, הפתרון הטוב ביותר הוא להכניס לתוך ה-ListView פקד TextBox עם שבירת שורות או RichTextBox ופשוט לעבוד איתו מכאן. מצ"ב קישור לדוגמה ב-codeprojct שמדגימה איך לשים פקדים בתוך פקד ListView בדוט נט 1.1: Embedding Controls in a ListView
 

spheonx

New member
טוב, אני אנסה לתקוף מכיוון אחר

בזמן שאני בוחן את הפתרונות שלכם תודה על התגובות השימוש בדוטנט 3... אין לי מושג איך להתחיל עם זה, האם זו רק התקנה של FRAMEWORK ויש לי את כל הקומפוננטות אוטומטית? האם זה אומר שינוי בvisual studio כולו? בכל מקרה, אני חושב במקביל לתקוף את הנושא מכיוון אחר אני צריך לבנות פקד שיתפוס לי נניח חצי חלון (יש מקום גדול בשבילו) וכל שורה תכיל ככה: 1. combo מאפיין של כיוון הטקסט 2. combo מאפיין של רקע הטקסט 3. טקסטבוקס של מקסימום 2 שורות, אם אוכל לעשות את זה מתכווץ ומתרחב לפי כמות הטקסט זה יהיה אפילו יותר טוב 4. טקסטבוקס שורה אחת של In time 5. טקסטבוקס שורה אחת של out time כאן השאלה שלי - כמה פרקטי לעשות את הרעיון הבא: לבנות usercontrol של כל הפרמטרים האלה - עד כאן לא בעיה השלב השני הוא לחבר X פעמים (דינמי לחלוטין) את הusercontrol הנ"ל אחד תחת השני וליצור scrollbar שיגלול כמו שצריך וכל מה שמסביב - את זה אין לי בכלל מושג איך להתחיל איך בכלל תוקפים את העניין? איך אני פונה לעזרתו של גוגל יקירנו בעניין? מה לחפש שם? תודה מראש
 

spheonx

New member
רק להזכיר

שאני עובד בC#, לא בסביבת WEB כלשהי בכלל
 

Tamir Khason

New member
שתי כוונים

יותר פרקטי לבנות פקד אחד שבו יש PANEL עם מה שאתה צריך. פקד מקבל מערך של DATAOBJECTS שלך ומשכפל את ב-PANEL לפי מספר מספר איברים במערך עניין ה-SCROLLBAR הוא יותר מורכב. תצטרך למדוד את הגדלים וכד'. הפתרון היותר טוב, הוא לצור DATAGRID משלך שממש יצייר את כל מה שאתה צריך. אבל תחשוב "DATA-ORIENTED" ולא "CONTROL-ORIENTED", כל תוכל לצור משהו גמיש יותר אגב .NET3 בקישורים לתגובה שלי תוכל לראות את כל מה שאתה צריך בשביל להתחיל לפתח בזה
 

Tamir Khason

New member
אין פתרון

בצורה שאתה מחפש (ListView Details View) אין אפשרות לעשות זאת ללא OWNERDRAW, ListView תומך בכמה אברים עם מפשר שורות בתצוגת ה-LargeIcon או Tile בלבד .NET 3 (WPF) יכול לתת לך מענה יפה לדרישה להיות ונותן לך אפשרות לכלול כל פקד בכל פקד בצורה מבנית והקוד שלך יראה כך:
<ListView.View> <GridView> <GridViewColumn Header="TEXT" DisplayMemberBinding="{Binding XPath=@Text}"/> <GridViewColumn Header="From" Width="150" DisplayMemberBinding="{Binding XPath=@FromTime}"/> <GridViewColumn Header="To" Width="150" DisplayMemberBinding="{Binding XPath=@ToTime}"/> </GridView> </ListView.View> </ListView>​
 
למעלה