麗水市汽車運輸集團有限公司資訊中心 苟安廷
AspxGridView是大家常用的第三方控制項,但用戶端操作介紹不多,在工作中,我採用下面的方法通過JQuery擷取各列列名和寬度,希望對你有所協助:
function Tools()
{
};
//gridId為AspxGridView的用戶端ID
Tools.GetAxGridViewColWidth = function(gridId)
{
var strResult = '';
var $Captions = $('#' + gridId + '_DXHeadersRow' + ' td table tr td');
var $width = $('#' + gridId + '_DXHeadersRow' + '>td');
var width;
var $colgroup = $('#' + gridId + ' colgroup');
//opera在指定了寬度時,測試結果不正確,少了13,因此,加上去
var bDesinged = false;
if ($colgroup.length > 0)
bDesinged = true;
//排序/過濾等操作後,會在該列列後面加一個儲存格顯示表徵圖,因此,實際列不能計算進去
var colTrueIndex = 0;
for (var i = 0; i < $Captions.length; i++)
{
var strText=$Captions.eq(i).text()
if(strText.length==0)
continue;
strResult +=strText + ':';
if (colTrueIndex < $width.length)
{
width = $width.eq(colTrueIndex).width();
if (width < 0)
width = 0;
width = parseInt(width, 10);
if (bDesinged && $.browser.opera)
width += 13;
strResult += width + ";";
}
else
strResult += "0;";
colTrueIndex++;
}
return strResult;
}