原創|其它|編輯:郝浩|2011-04-22 14:20:45.000|閱讀 3278 次
概述:本文主要介紹利用DevExpress.XtraReports控件創建動態報表時單元格寬度控制問題 ,希望對大家有幫助。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
因為使用代碼添加的 每一次添加一個控件容器控件內部都做了自動計算
主要在這兩句代碼:
headerRow.Cells.Add(headerCell);
detailRow.Cells.Add(detailCell);
向XRTableRow 添加 XRTableCell
第一次新添加的會XRTableCell會以XRTableRow 的寬度值
第二次添加的會讓第一次添加的XRTableCell減小設定的XRTableCell寬度值
第三次添加因為已添加了兩個XRTableCell,這樣會按前兩個XRTableCell寬度比例減小設定的XRTableCell寬度值
這樣就造成了 除了最后一個XRTableCell外第一個XRTableCell最寬,之后一個比一個窄,最后一個添加的才是真正在代碼中指定的寬度 headerCell.Width = colWidth; detailCell.Width = colWidth;
解決辦法:
1、可以在XRTableCell都加進XRTableRow后改變XRTableCell的寬度
foreach (XRTableCell item in headerRow.Cells)
{
item.Width = 100;
}
2、可以給XRTableCell添加權重設置(似乎Silverlight沒有這個??)
XRTableCell detailCel = new XRTableCell();
detailCell.Weight = 1;//權重設置成1 這樣每個表格列就一樣寬了
實際上,先把定義好寬度的XRTableCell單元格 放在XRTableCell []數組中去,然后算出XRTable的總寬度,最后再把單元格數組XRTable,這樣子單元格的寬度基本上不會改變了。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:網絡轉載