我设计了两张表,一张是主表main(m_id,m_value),一张是明细表detail(m_id,det_id,det_value),然后在主画面用一个gridview来编辑保存主表的数据(注:数据并不是即时保存到数据库中的,而是先保存在dataset中,最后统一通过数据适配器更新到数据库),主表的数据编辑保存很好做,问题是明细数据。我的思路是主gridview每行有一个链接,点击后能够弹开相应行的明细画面(新页面),新页面上能够编辑、插入、删除明细数据,点击确定后更新完的数据能够返回到主页面(另外一个dataset?),问题是主画面与明细画面间该如何通信?明细数据可以用dataset传递到明细画面吗?求成熟的解决方案!
gridview + detailsview最好直接存入到数据库
gridview点击“编辑”的时候,为什么gridview自动变高了?看你的编辑代码执行的什么
直接存入数据库如果人多的话打开数据库那么太频繁了!
gridview点击“编辑”的时候,什么也没做,就是放了三个模板列,其中两个textbox,一个linkbutton
detailsview可以放在同一页,也可以放在新的页面,通过url参数传递选中的主表id。
gridview为什么要允许编辑?你不是要在detailsview里面编辑吗?
GridView仅用作于展示,而所有的数据操作都在子页面中。
新增的时候,主窗体传给子窗体一个空值或者是ID=0,子窗体收到0的消息后,就判断为新增,直接在子窗体里面插入数据库。
而修改的时候,点击GridView的某一行中的按钮或链接或行,拼出Url http://***/**.aspx&ID=2,这样子窗体就收到了ID=2的消息,就可以判定为修改,直接修改进数据库。新增或修改完成以后,设置window.returnValue=非空值,当父窗体的showModalDialog收到的值为非空,就直接刷新页面即可,这样的话,GridView又重新加载一次,就将新数据展示出来了