public partial class 公文流转系统_ViewFlow : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            BindDocFlowData();
        }
    }
    private void BindDocFlowData()
    {
        DocFlow flow = new DocFlow();
        SqlDataReader recf = flow.GetDocFlows();        DataTable dataTable = new DataTable();
        dataTable = SystemTools.ConvertDataReaderToDataTable(recf);        DataSet ds= new DataSet("DocFlow");
        ds.Tables.Add(dataTable);        dgFlowList.DataSource = ds;
        dgFlowList.DataBind();
    }
}这是一个绑定GridView的代码,编译是成功的,但是运行起来不知为什么会出现错误提示"ID 为“dgFlowList”的 GridView 的数据源没有任何可用来生成列的属性或特性。请确保您的数据源有内容
",请帮忙解决 谢谢

解决方案 »

  1.   

    <%@ Page Language="C#" MasterPageFile="~/公文流转系统/MasterPage.master" AutoEventWireup="true" CodeFile="ViewFlow.aspx.cs" Inherits="公文流转系统_ViewFlow" Title="Untitled Page" %>
    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
        <div style="text-align: center">
            <table>
                <caption>
                    流转管理</caption>
                <tr>
                    <td style="width: 100px; height: 26px;">
                    </td>
                    <td style="width: 100px; height: 26px;">
                        <asp:Button ID="AddFlowBtn" runat="server" Text="添加新的公文流转" /></td>
                </tr>
                <tr>
                    <td colspan="2" style="height: 21px">
                        <asp:Panel ID="Panel1" runat="server" Height="200px" ScrollBars="Auto" Width="800px">
                        <asp:GridView ID="dgFlowList" runat="server" Width="1200px" PageSize="5">
                            <Columns>
                                <asp:CheckBoxField DataField="DocFlowID" HeaderText="流转ID" SortExpression="流转ID" />
                                <asp:HyperLinkField DataNavigateUrlFields="DocFlowID" DataNavigateUrlFormatString="LookFlow.aspx?FlowID={0}"
                                    DataTextField="FlowName" HeaderText="流程名称" Target="_blank" />
                                <asp:BoundField DataField="FlowDesn" HeaderText="流程简介" />
                                <asp:TemplateField HeaderText="流程发起人"><ItemTemplate><a href='ViewFlowByUser.aspx?SenderID=<%#DataBinder.Eval(Container.DataItem,"SenderID")%>' target="_blank"> <%#DataBinder.Eval(Container.DataItem,"RealName")%> </a></ItemTemplate></asp:TemplateField>
                                <asp:TemplateField HeaderText="流程接收人"><ItemTemplate>
    <a href ='FlowReceiver.aspx?FlowID=<%#DataBinder.Eval(Container.DataItem,"DocFlowID")%>'>
    流程接受人 </a>
    </ItemTemplate></asp:TemplateField>
                                <asp:TemplateField HeaderText="文档附件"><ItemTemplate>
    <a href ='FlowDocument.aspx?FlowID=<%#DataBinder.Eval(Container.DataItem,"DocFlowID")%>'>
    文档附件 </a>
    </ItemTemplate></asp:TemplateField>
                                <asp:BoundField DataField="MethodName" HeaderText="流程方式" SortExpression="MethodName" />
                                <asp:BoundField DataField="FlowDate" HeaderText="建立时间" SortExpression="FlowDate" />
                                <asp:TemplateField HeaderText="编辑"><ItemTemplate>
    <a href ='EditFlow.aspx?FlowID=<%# DataBinder.Eval(Container.DataItem,"DocFlowID") %>'>
    编辑</a>
    </ItemTemplate></asp:TemplateField>
                                <asp:ButtonField CommandName="Delete" DataTextField="DeleteFlow" HeaderText="删除"
                                    Text="删除" />
                            </Columns>
                        </asp:GridView>
                        </asp:Panel>
                    </td>
                </tr>
            </table>
        </div>
    </asp:Content>
      

  2.   

    我把AutoGeneratecolumns设为fasle 就可以运行 但是显示不了列表 对列的名称跟数据库对照了几次了 就是显示不了