日期:2014-05-20  浏览次数:20382 次

|M| 第二贴:再问幕白兄关开,DataGrid绑定时添加一行绑定DataGrid的问题添加CheckBox问题
原贴:
http://community.csdn.net/Expert/topic/5333/5333259.xml?temp=.3600885

我的嵌套DataGrid的方法是
在父DataGrid绑定的时候添加一行绑定子DataGrid
这样的话如果我的记录有5条就会绑定成10行
如本来只绑定父效果
id
1
2
3
4
5
现在是
id
1
子1
2
子2
3
子3
4
子4
5
子5
这个时候我用
protected   void   btn_State_Click(object   sender,   EventArgs   e)
        {

                foreach   (DataGridItem   dgItem   in   dgMovie.Items)
                {
                        CheckBox   ck   =   (CheckBox)dgItem.Cells[0].Controls[1];
                        if   (ck.Checked)
                        {
                                string   MovieID   =   dgMovie.DataKeys[dgItem.ItemIndex].ToString();
                                Movie.UpdateState(MovieID);
                                ck.Checked   =   false;
                        }
                }
                BindList();

        }
这种方法的时候他只改变的只有
id
1         改变
子1
2
子2
3         改变
子3
4
子4
5         改变
子5
照我的想法是他把 "了1 "当成了2行
但这样不成立因为他没有把 "2 "当成3行
而正确的把 "3 "当成了三行
...

这是怎么回事

------解决方案--------------------
关注

小弟.NET菜鸟 主搞ASP.NET 希望结识有共同爱好的朋友
QQ群:35554886 MSN:weiyumagic@hotmail.com
------解决方案--------------------
这个问题已经解决了呀!

此时不要用dgMovie.DataKeys[dgItem.ItemIndex] 来获得主键信息!

你的帖子:
http://community.csdn.net/Expert/TopicView3.asp?id=5333259

看看我在里面的DEMO!