我正在实现网格视图排序,这是用户控件的一部分。下面的代码给出了Indexoutofrange错误。
错误消息位于
dtView.Sort = strSort;错误消息:
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”应该包含来自数据库的数据。
发布于 2011-04-20 21:30:52
找到解决办法了。列名与数据库列的列名不同。
https://stackoverflow.com/questions/5698295
复制相似问题