winform datagrid中如果排序完后就不能得到正确的行号了?有谁遇见过?
CurrencyManager cm = (CurrencyManager)this.BindingContext[GrdDetail.DataSource, GrdDetail.DataMember];
DataView dv = (DataView)cm.List;
for(int i = 0; i < dv.Count; ++i)
{
if(GrdDetail.IsSelected(i))
{
。。。。
}
}
这个i不是排序完后的第i行了
问题点数:20、回复次数:4Top
1 楼mywebcom(我)回复于 2004-09-01 16:57:04 得分 0
你已经重新排序了,行号相应的也改变了Top
2 楼aQ44(阿Q叔叔)回复于 2004-09-01 17:27:16 得分 20
哥们看 帮助
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfsystemwindowsformsdatagridclasstopic.htm
其中这句话:
“注意 由于可以自定义列数(通过添加或删除 GridColumnStylesCollection 的成员),而且可以按列对行进行排序,因此不能确保 RowNumber 和 ColumnNumber 属性值与 DataTable 中的 DataRow 和 DataColumn 索引相符。因此,请避免在 Validating 事件中使用这些属性来验证数据。”
解决方法:
http://community.csdn.net/Expert/topic/3321/3321426.xml?temp=.2235681
Top
3 楼tengy(ty)回复于 2004-09-02 13:31:46 得分 0
谢谢,确实好用,但是只能取得当前行的行号,我这现在是datagrid多选几行,不知怎样得到每一个选中行的正确行号?
另外,面对金钱诱惑不为所动,不错:)Top
4 楼tengy(ty)回复于 2004-09-03 14:03:25 得分 0
up
Top




