我在点击排序列时,出现错误!!

wy1688 2004-05-05 03:01:48
我在点击排序列时,他执行了ItemCommand中的一个语句,在
private void Item_Command(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string id = dgWY.DataKeys[e.Item.ItemIndex].ToString(); //错误
}
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

如何才能点击排序列时不执行ItemCommand???
...全文
13 7 点赞 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
vzxq 2004-05-07
同意,我楼上的。
  • 打赏
  • 举报
回复
WZCNet 2004-05-07
你可以在DataGrid的这个事件里加排序的功能啊!
private void dgdClient_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
{
string sortExpression = e.SortExpression.ToString();
string sortDirection = "ASC";
if (sortExpression == dgdClient.Attributes["SortExpression"])
{
sortDirection = dgdClient.Attributes["SortDirection"].ToString() == sortDirection ? "DESC" : "ASC";
}
dgdClient.Attributes["SortExpression"] = sortExpression;
dgdClient.Attributes["SortDirection"] = sortDirection;
BindData();
}
这是一段排序的代码,你参考一下吧
  • 打赏
  • 举报
回复
wy1688 2004-05-07
TO: 1979xt(VS.NET为未来十年作好了准备,你呢)
我看不懂你的,可以说的详细点不?
  • 打赏
  • 举报
回复
wy1688 2004-05-07
TO: smx717616(.Net┷我很菜)
1.我设置了dgWY的 datakeyfiled
2.我点击排序列时 e.commandname是不是也有值,因为他还是执行了
string id = dgWY.DataKeys[e.Item.ItemIndex].ToString(); 这个,所以排序还是出错!
  • 打赏
  • 举报
回复
1979xt 2004-05-05
dgWY.DataKeys在绑定DataSet到DataGrid时要设datakeyfiled的值
datatable.PrimaryKey=datatable.Columns[0];


  • 打赏
  • 举报
回复
smx717616 2004-05-05
1.你设置dgWY的 datakeyfiled 了吗?
2.如何才能点击排序列时不执行ItemCommand???
在 ItemCommand中加
if commandname="" then
  • 打赏
  • 举报
回复
listhome 2004-05-05
dgWY.DataKeys[e.Item.ItemIndex]的值是否为空???
  • 打赏
  • 举报
回复
相关推荐
发帖
.NET社区
加入

5.9w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2004-05-05 03:01
社区公告
暂无公告