System.IndexOutOfRangeException:找不到列

时间:2011-04-18 03:43:34

标签: sorting gridview user-controls

我正在实现gridview排序,它是用户控件的一部分。下面的代码给出了Indexoutofrange错误。

错误消息位于

dtView.Sort = strSort;

ERRORMESSAGE:

  

System.IndexOutOfRangeException:找不到列TEXT_COUNTY_ID。

有谁可以指出我做错了什么?

protected void SortGridData_Hkl(Object sender, GridViewSortEventArgs e)
    {
        GridView _dgd_work_onoff = (GridView)Page.FindControl("bodyuc$dgd_work_onoff");
        DataSet dstemp;
        DataView dtView;
        if (ViewState["dsfetchResults"] != null)
        {
            dstemp = (DataSet)ViewState["dsfetchResults"];
            string strSortOrder = ViewState["SortOrder"].ToString();

            if (strSortOrder == "DESC")
            {
                strSortOrder = "ASC";
                ViewState["SortOrder"] = strSortOrder;
            }
            else
            {
                strSortOrder = "DESC";
                ViewState["SortOrder"] = strSortOrder;
            }

            string strSort = e.SortExpression.ToString() + " " + strSortOrder;
            ViewState["SortString"] = strSort;

            dtView = dstemp.Tables[0].DefaultView;

            dtView.Sort = strSort;
            if (dtView.Count != 0)
            {
                if (_dgd_work_onoff != null)
                {
                    _dgd_work_onoff.DataSource = dtView;
                    _dgd_work_onoff.DataBind();
                }
            }


        }

'dsfetchResults'假设包含数据库中的数据。

1 个答案:

答案 0 :(得分:0)

得到了解决方案。列名称与数据库列的名称不同。