DataGrid 动态增加列,绑定数据后,点击DataGrid的标题排序,发现不执行排序事件。

解决方案 »

  1.   

    增加列后给增加的列设置sort了吗高歌真是厉害,50分以上贴必UP -_-!!
      

  2.   

    /// <summary>
    /// 增加DataGrid列
    /// </summary>
    /// <param name="dgInfo">DataGrid名称</param>
    /// <param name="sField">绑定字段</param>
    /// <param name="sDesc">字段描述</param>
    /// <param name="sFormat">格式化字符串</param>
    /// <param name="sWidth">宽度</param>
    /// <param name="iAlign">位置</param>
    /// <param name="sLink">是否排序</param>
    private void SetGridColumns(ref DataGrid dgInfo,string sField,string sDesc,string sFormat,string sWidth,int iAlign,string sSort)
    {
    BoundColumn bCol = new BoundColumn();
    bCol.HeaderText = sDesc;
    bCol.DataField = sField;
    if (sFormat!="")
    bCol.DataFormatString = sFormat;bCol.ItemStyle.Width = Unit.Parse(sWidth);
    bCol.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;if (iAlign==0)
    bCol.ItemStyle.HorizontalAlign = HorizontalAlign.Left;
    else if (iAlign==1)
    bCol.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
    else if (iAlign==2)
    bCol.ItemStyle.HorizontalAlign = HorizontalAlign.Right;
    if (sSort=="1")
    {
    bCol.SortExpression = sField;
    }
    dgInfo.Columns.Add(bCol);
    }
    //排序事件
    private void dgInfo_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
    {
    BindDataGrid(e.SortExpression);
    }