各位兄弟,我有二个问题需要解决,搜了很多相关资料也没有解决:1.我要将数据导出到Excel中,这个Excel有模版,这个模版有15行,当我导出的数据在15行内的时候很好,可是数据很多,超过15行的时候,第16条可能就在表格内显示不了.Excel有添行,删除行,怎么wooksheet里怎么没有行添加,行删呢?请问怎么实现这样的功能.2.关于窗体刷新,a窗体里有datagridview数据显示控件,我在这个datagridview上加了一个右边菜单,比如:修改,添加,删除.当修改的时候弹出另一个窗体b,做修改操作,b窗体修改完了后,怎么刷新a窗体里的datagridview的数据呢?不知道我说的意思明白了不?急,在线待贴.

解决方案 »

  1.   

    对于问题一
    我之前的解决办法是用循环一行一行画的,也没找到更好的办法
    不过循环画是肯定能解决你的问题的
    问题二
    form的问题不太了解...
      

  2.   

    如果没有模版的话可以考虑用gridview(或者可以把模版画到gridview里),它直接带excel导出功能
      

  3.   

    如果没有模版的话可以考虑用gridview(或者可以把模版画到gridview里),它直接带excel导出功能
      

  4.   

    需要说明一下:你弹出的窗体b修改数据到底是表面(真是数据是没有修改的)修改还是修改到数据库(或者称为真正的修改)
    如果是第一种,很简单,你把修改的那条记录在datagridview中找到并修改
    如果是第二种,那么你可以考虑让datagridview重新读取一次数据,如果数据太多,可以考虑第一种的方法(必须保证b窗体修改数据成功)。
      

  5.   

    如果没有模版的话可以考虑用gridview(或者可以把模版画到gridview里),它直接带excel导出功能
      

  6.   

    第一个:
    可以看看这里
    http://blog.csdn.net/downmoon/archive/2009/01/16/3796652.aspx

    http://www.cnblogs.com/downmoon/archive/2009/01/16/1376702.html第二个
    把datagridview的数据源(dataset或者datatable)做为参数传给子窗体就ok  
      形如   frmChild   frm   =   new   frmChile(dataTable);  
      当子窗体关闭时候,父窗体会自动更新  
      如果是自定义实体类,则需要实现   IBindingList   and   IEditableObject   interfaces,    
      see   Windows   Forms   Data   Binding   and   Objects  
      http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnadvnet/html/vbnet02252003.asp
      

  7.   

    第一个问题有点不明白,既然你数据那么多,干嘛还要用15行的模板!?
    第二个问题简单你直接把datagridview传到弹出的窗体里,修改完数据,再重新绑定下就好了.
      

  8.   

    假如是 Form.ShowDialog(); 直接在后面写刷新语句 假如是 Form.Show();可以把自己的实例传给子窗口,在那边调用刷新