如何将指定文件夹下的所有报表文件循环加载到GridView空间中 并且打开某条数据

前台GridView的控件源码

<asp:GridView runat="server" ID="gvList" AutoGenerateColumns="false" Width="" BorderWidth="0" CellPadding="1" CellSpacing="1" BackColor="#99BBE8"  >
            <EmptyDataTemplate>
                <div class="divMsg">系统提示:未能查询到相关的记录。</div>
            </EmptyDataTemplate>
             <Columns>
       <asp:BoundField DataField="filename" HeaderText="查询文件名称" HeaderStyle-HorizontalAlign="Left">
        <ItemStyle  HorizontalAlign="Left" Width="400px"/>
       </asp:BoundField>
                <asp:TemplateField>
                    <ItemTemplate>
                        <a href="/WebReport/ReportServer?reportlet=<%#DataBinder.Eval(Container.DataItem, "filename")%>"><img alt="打开" src="../images/open.jpg" style="border-width:0px;" /></a>
                    </ItemTemplate>
                    <ItemStyle HorizontalAlign="Left" Width="50px"/>
                </asp:TemplateField>        
      </Columns>
            <HeaderStyle CssClass="gvHeader" />
            <RowStyle CssClass="gvRow2"/>
            <EmptyDataRowStyle CssClass="gvEmpty" />
        </asp:GridView>

后台代码

 

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                GetFileName();
            }
        }
        /// <summary>
        /// 得到文件名
        /// </summary>
        /// <returns></returns>
        public void GetFileName()
        {
            //在指定目录及子目录下查找文件,在listBox1中列出子目录及文件
            DirectoryInfo Dir = new DirectoryInfo("C:\\FineReport6.5\\WebReport\\WEB-INF\\reportlets\\Query\\省检科院");
            DataTable dt = new DataTable();//创建虚拟表
            dt.Columns.Add(new DataColumn("filename", typeof(string)));//创建列

            try
            {
                foreach (FileInfo f in Dir.GetFiles("*.* "))//查找文件
                {
                    bool isOk = false;
                    string fileName = f.ToString();
                    string filePostfix = Path.GetExtension(fileName);
                    string[] allowPostfix = { ".cpt" };
                    foreach (string item in allowPostfix)//判断所有的报表文件是否全部未 .cpt格式
                    {
                        if (filePostfix == item)
                        {
                            isOk = true;
                            break;
                        }
                    }
                    if (isOk)
                    {
                        DataRow dr = dt.NewRow();
                        dr["filename"] = f.ToString();
                        dt.Rows.Add(dr);
                    }

                }
                gvList.DataSource = dt;
                gvList.DataBind();
            }
            catch (Exception e)
            {
                //MessageBox.Show(e.Message);
            }
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值