再续,盼高人解决:一个月多前的帖子,还是没结掉?关于DataGrid...

时间:2022-04-07 19:40:42
http://community.csdn.net/Expert/topic/4870/4870670.xml?temp=.8591577
================================================================

DataGrid中新加一条记录,如何让DataGrid跳到最后一页,同时呈现最后一项的EDIT状态?

如果一页数据,程序没有问题。
点‘新加记录’的按钮后,此新加项出现在最后一行,且EDIT状态打开...

但有了多页,点击后可以转到最后一页,但EDIT状态不能自动打开?

dataSet.Tables[0].Rows.Add(newrow);
DataGrid1.DataSource=dataSet;
DataGrid1.CurrentPageIndex=DataGrid1.PageCount-1;
DataGrid1.EditItemIndex=DataGrid1.Items.Count;
DataGrid1.DataBind();

我试着绑定两次也还是不行:
dataSet.Tables[0].Rows.Add(newrow);
DataGrid1.DataSource=dataSet;
DataGrid1.CurrentPageIndex=DataGrid1.PageCount-1;
DataGrid1.DataBind();
DataGrid1.DataSource=dataSet;
DataGrid1.EditItemIndex=DataGrid1.Items.Count;
DataGrid1.DataBind();

怎么可以实现,谢谢!

5 个解决方案

#1


我也想知道 学习 顶!

#2


在添加记录的事件里面加上: 
DataGrid1.CurrentPageIndex= DataGrid1.PageCount-1
DataGrid1.EditItemIndex = n -DataGrid1.PageCount*DataGrid1.PageSize
(n是当前你dataset的记录条数,添加完记录要重新填充dataSet)

#3


DataGrid1.EditItemIndex = n -DataGrid1.PageCount*DataGrid1.PageSize

???
这个应该不对吧...运行出错...超出有效范围...

如:共12条记录,每页显示10条,共2页
就成了:12-2*10  =  -8  ???


#4


DataGrid1.CurrentPageIndex =(dt.Rows.Count % DataGrid1.PageSize>0)?(dt.Rows.Count / DataGrid1.PageSize):(dt.Rows.Count / DataGrid1.PageSize)-1;
DataGrid1.EditItemIndex=(dt.Rows.Count % DataGrid1.PageSize>0)?(dt.Rows.Count % DataGrid1.PageSize)-1:(DataGrid1.PageSize)-1;

#5


谢谢!
接分........

#1


我也想知道 学习 顶!

#2


在添加记录的事件里面加上: 
DataGrid1.CurrentPageIndex= DataGrid1.PageCount-1
DataGrid1.EditItemIndex = n -DataGrid1.PageCount*DataGrid1.PageSize
(n是当前你dataset的记录条数,添加完记录要重新填充dataSet)

#3


DataGrid1.EditItemIndex = n -DataGrid1.PageCount*DataGrid1.PageSize

???
这个应该不对吧...运行出错...超出有效范围...

如:共12条记录,每页显示10条,共2页
就成了:12-2*10  =  -8  ???


#4


DataGrid1.CurrentPageIndex =(dt.Rows.Count % DataGrid1.PageSize>0)?(dt.Rows.Count / DataGrid1.PageSize):(dt.Rows.Count / DataGrid1.PageSize)-1;
DataGrid1.EditItemIndex=(dt.Rows.Count % DataGrid1.PageSize>0)?(dt.Rows.Count % DataGrid1.PageSize)-1:(DataGrid1.PageSize)-1;

#5


谢谢!
接分........