2011-03-24 39 views

回答

0

謝謝bensiu,我實現了登錄。但是,我不能說這是理想的解決方案,但它解決了我的目的。

首先,我瀏覽數據並找到該列中最長的字符串(包括該列的標題名稱)。

// Store the longest string for each column in columns[col].maxstring 

// Define a hidden label 
{ 
    xtype: 'label', 
    id: 'lblTab', 
    hidden: true 
} 

var lblTab = Ext.getCmp('lblTab'); 
var hiddenField = Ext.util.TextMetrics.createInstance(Ext.getCmp('lblTab').el); 
var widthValue = 0; 

// Iterate through each columns to set its maximum width 
for(var col in columns) { 
    // find width of string 
    widthValue = hiddenField.getWidth(columns[col].maxstring); 

    // set column width 
    colModel.setColumnWidth(columns[col].index, widthValue + 20, false); 
} 

我希望這有助於某人。

0

使用參數width: ...與您的列配置。這很簡單。我沒有看到你的代碼,所以我猜測。

然而,它看起來像你有更多的垂直空間 - >也許在2行(使用模板)中斷日期將是解決方案,或者你可以有一個特殊的css類只爲這個單元格與較小的字母,以適應。

編輯: 在你的情況可能是ColumnModel(至少可以得到120到適合您的日期,如果有更多的列格會調整)和setColumnWith(defaultWith的組合)動態地根據數據和數量的長度列 - 邏輯取決於你

+0

嗨,感謝您的回覆。我不能使用「寬度:」因爲我動態加載網格,它有很多列,所以我不能猜測它的寬度。此外,我只需要一行中的所有內容(額外的垂直空間是由於該列中的圖像)。問候 – user427969 2011-03-25 03:44:39

相關問題