קביעת רוחב עמודות

eMaster

New member
קביעת רוחב עמודות

יש לי DATASET, ואני מעוניין לקבוע את רוחב העמודות בגודל ספציפי וקבוע. א. איך עושים את זה? ב. ניסיתי לעשות את זה בעזרת הגדרות גודל העמודה כאשר עשיתי DATABOUND ידני לעמודות ולא פיזית היתה לי האפשרות להגדיר את רוחב התא, אך זה לא עזר. נראה לי שתאים מתרחבים בהתאם לכמות הכתוב בהם... מה שנעשה באופן פרופורציוני למעשה (כי תאים עם הרבה כתוב גם היה להם הכי הרבה רווח ללא הצדקה) עזרה!
 

nattygur

New member
בעיה כאובה

ה datagrid מגדיל אוטומטית את גודל העמודות לפי גודל הטכסט. הדרך היחידה שאפשר לטפל בבעיה היא שימוש ב CSS בכדי לטפל ב Layout. זה יפתור טכסט עם רווחים אבל אם הטכסט ללא רווחים והוא גדול יותר מרוחב העמודה, אין מוצא.
<style> .FixedWidthTable {table-layout:fixed;} </style> and use it in CssClass property of asp:DataGrid <asp:DataGrid ....... CssClass="FixedWidthTable" ..... > </asp:DataGrid>​
 

pagis

New member
סתם מתוך סקרנות

למה בכלל להשתמש ב datagrid ? אני אומנם בחיים לא פיתחתי ל ASP.NET אבל לפחות ברמת ה GUI הווידוזי יש לו תצוגה מזעזעת ולא כ"כ מורכב לכתוב אובייקט תצוגה עצמאי להצגת ה DATSET.
 

eMaster

New member
זה מצויין אבל...

אם אני רוצה שהDATAGRID יהיה עם עמודות שונות ברוחבים שונים?
 

gooshi

New member
אני לא מבין את הבעיה

אתה יכול להגדיר ב ASPX עצמו את העמודות שלך ולכל עמודה מהו ה DATAFIELD שלה ומהו הרוחב שלה. אם אתה מבצע AUTOPOULATE ולכן אתה לא מגדיר כל עמודה בפני עצמה, תגדיר ATTRIBUTE של רוחב באירוע ITEMDATABOUND או ITEMCREATED למשל, כך תוכל על פי החלטה שלך להגדיר לכל עמודה מהו רוחבה הרצוי(במגבלות כמובן, זוכר מה נתי כתב על בעית הרוחב כשאין רווחים...)
 

xx

New member
הנה פתרון יפה שאני משתמש בו....

<div title="<%#Container.DataItem("Fld1")%>" style="text-overflow:ellipsis;width:90px;height:13px;overflow:hidden;"><nobr><%#Container.DataItem("Fld1")%></nobr></div>​
השדה הוא FLD1.. אני מגביל אותו לרוחב של 90 פיקסלים.. ואם השדה עובר את זה מוצגות שלוש נקודות... בכל מקרה מוצג השדה גם ב TITLE של העמודה ועדיין אפשר גם להעתיק את השדה ב COPY PASTE... בהצלחה..
 
למעלה