代码如下:
 void _sgv_RenderBegin(object sender, HtmlTextWriter writer)
        {
            string divid = string.Format("{0}_table_Container", this._sgv);//该方法是在GridView外包一个大的div,并附加上各种动作。
            string tbodyid = string.Format("{0}_GridBody_Cells", this._sgv);//该方法是在GridView的表体部分包一个tbody。        
            if (_sgv.ChangeCellWidth.AllowChangeCellWidth)
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "tableContainer");
                writer.AddAttribute(HtmlTextWriterAttribute.Id, divid);
                writer.AddAttribute("onmousedown", string.Format("TableOnMouseDown('{0}');", divid));
                writer.AddAttribute("onmouseup", string.Format("TableOnMouseUp('{0}');", name));                writer.AddAttribute("onmousemove", "TableOnMouseMove();");
                writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
            }
            _sgv.Columns[2].HeaderText = _sgv.Columns.Count.ToString() + "分" + _sgv.Rows.Count.ToString() + divid;
        }JS代码如下:
function resizeCell1(tid, idx, width)
{
    //tbody
    var cells = document.getElementById(tid);
    //tbody中的所有行
    var rows = cells.childNodes;

for (var i = 0; i < rows.length; i++)
{   
    //tbody行中的要被改变宽度的列     
var cell = rows[i].childNodes[idx].childNodes[0];
var resetPattern = /style=[^\s\t\n]+/;
// cell.outerHTML = cell.outerHTML.toString().replace(resetPattern, "style='width:" + width + "'"); cell.style.width = width;

}

}
普通列通过上面的方式就可以改变,但要是换成模板列的话,怎么也改不了?那位大侠帮忙看看.