C# 为什么我的ASPxGridView显示的是空行,而不是我提供的值?

C# 为什么我的ASPxGridView显示的是空行,而不是我提供的值?,c#,asp.net,devexpress,aspxgridview,C#,Asp.net,Devexpress,Aspxgridview,在描述问题之前,我想声明我已经在DevEx上提交了一个票证,但我也希望从堆栈溢出中获得更快的响应 问题: 我从动态数据表填充这个ASPxGridView。我遇到的问题是字段为空,但显示的行数正确。调试时,如果进入dataTable.Rows[0].itemArray属性,则可以看到正确的值。在这个过程中,我有没有遗漏一个步骤 代码如下: void BuildEmployeeTable () { DataTable dataTable = new DataTable();

在描述问题之前,我想声明我已经在DevEx上提交了一个票证,但我也希望从堆栈溢出中获得更快的响应

问题:

我从动态数据表填充这个ASPxGridView。我遇到的问题是字段为空,但显示的行数正确。调试时,如果进入
dataTable.Rows[0].itemArray
属性,则可以看到正确的值。在这个过程中,我有没有遗漏一个步骤

代码如下:

void BuildEmployeeTable ()
    {
        DataTable dataTable = new DataTable();
        dataTable.Columns.Add("Employee");
        dataTable.Columns.Add("Pending");
        dataTable.Columns.Add("Investigating");
        dataTable.Columns.Add("Assigned");
        dataTable.Columns.Add("CompletedA");
        dataTable.Columns.Add("CompletedS");
        dataTable.Columns.Add("PastDueA");
        dataTable.Columns.Add("PastDueS");
        dataTable.Columns.Add("NotAccepted");

        kaizenSet.EMPLOYEEDataTable dt = GetEmployees();

        foreach (DataRow dr in dt)
        {
            string name = Security.FormatName(dr["NAME"].ToString());
            DataRow new_row = dataTable.NewRow();

            new_row["Employee"] = name;
            new_row["Pending"] = Kaizen_Queries.SubmittedKaizens(new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1), new DateTime(DateTime.Today.Year, DateTime.Today.Month + 1, 1), name);
            new_row["Investigating"] = Kaizen_Queries.InvestigatingKaizens(new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1), new DateTime(DateTime.Today.Year, DateTime.Today.Month + 1, 1), name);
            new_row["Assigned"] = Kaizen_Queries.InProgressKaizens(new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1), new DateTime(DateTime.Today.Year, DateTime.Today.Month + 1, 1), name);
            new_row["CompletedA"] = 0;
            new_row["CompletedS"] = Kaizen_Queries.CompletedKaizens(new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1), new DateTime(DateTime.Today.Year, DateTime.Today.Month + 1, 1), name);
            new_row["PastDueS"] = Kaizen_Queries.PastDueKaizens(new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1), new DateTime(DateTime.Today.Year, DateTime.Today.Month + 1, 1), name);
            new_row["PastDueA"] = 0;
            new_row["NotAccepted"] = Kaizen_Queries.NotAcceptedKaizens(new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1), new DateTime(DateTime.Today.Year, DateTime.Today.Month + 1, 1), name);

            dataTable.Rows.Add(new_row);
        }

        gridEmployees.DataSource = dataTable;
        gridEmployees.DataBind();
    }
GridView:

<dx:ASPxGridView ID="gridEmployees" runat="server" AutoGenerateColumns="False" OnLoad="gridEmployees_Load" Width="100%">
            <SettingsAdaptivity>
            <AdaptiveDetailLayoutProperties ColCount="1"></AdaptiveDetailLayoutProperties>
            </SettingsAdaptivity>

            <EditFormLayoutProperties ColCount="1"></EditFormLayoutProperties>
            <Columns>
                <dx:GridViewDataTextColumn Name="Name" Caption="Name" VisibleIndex="0">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn Name="Pending" Caption="Pending" VisibleIndex="1">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn Name="Investigating" Caption="Investigating" VisibleIndex="2">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn Name="Assigned" Caption="Assigned" VisibleIndex="3">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn Name="CompleteA" Caption="Complete (Assigned)" VisibleIndex="4">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn Name="CompleteS" Caption="Complete (Submitted)" VisibleIndex="5">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn Name="PastDueA" Caption="Past Due (Assigned)" VisibleIndex="6">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn Name="PastDueS" Caption="Past Due (Submitted)" VisibleIndex="7">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn Name="NotAccepted" Caption="Not Accepted" VisibleIndex="8">
                </dx:GridViewDataTextColumn>
            </Columns>
        </dx:ASPxGridView>

您忘记在ASPxGridView定义中指定
字段名。
如果需要,FieldName必须是datatable列名或属性名
已分配集合数据源

修改标记,如下所示:

<dx:ASPxGridView ID="gridEmployees" runat="server" AutoGenerateColumns="False" OnLoad="gridEmployees_Load" Width="100%">
    <SettingsAdaptivity>
    <AdaptiveDetailLayoutProperties ColCount="1"></AdaptiveDetailLayoutProperties>
    </SettingsAdaptivity>

    <EditFormLayoutProperties ColCount="1"></EditFormLayoutProperties>
    <Columns>
        <dx:GridViewDataTextColumn Name="Name" FieldName="Employee" Caption="Name" VisibleIndex="0">
        </dx:GridViewDataTextColumn>
        <dx:GridViewDataTextColumn Name="Pending" FieldName="Pending" Caption="Pending" VisibleIndex="1">
        </dx:GridViewDataTextColumn>
        <dx:GridViewDataTextColumn Name="Investigating" FieldName="Investigating" Caption="Investigating" VisibleIndex="2">
        </dx:GridViewDataTextColumn>
        <dx:GridViewDataTextColumn Name="Assigned" FieldName="Assigned" Caption="Assigned" VisibleIndex="3">
        </dx:GridViewDataTextColumn>
        <dx:GridViewDataTextColumn Name="CompleteA" FieldName="CompleteA" Caption="Complete (Assigned)" VisibleIndex="4">
        </dx:GridViewDataTextColumn>
        <dx:GridViewDataTextColumn Name="CompleteS" FieldName="CompleteS" Caption="Complete (Submitted)" VisibleIndex="5">
        </dx:GridViewDataTextColumn>
        <dx:GridViewDataTextColumn Name="PastDueA" FieldName="PastDueA" Caption="Past Due (Assigned)" VisibleIndex="6">
        </dx:GridViewDataTextColumn>
        <dx:GridViewDataTextColumn Name="PastDueS" FieldName="PastDueS" Caption="Past Due (Submitted)" VisibleIndex="7">
        </dx:GridViewDataTextColumn>
        <dx:GridViewDataTextColumn Name="NotAccepted" FieldName="NotAccepted"  Caption="Not Accepted" VisibleIndex="8">
        </dx:GridViewDataTextColumn>
    </Columns>
</dx:ASPxGridView>

您忘记在ASPxGridView定义中指定
字段名。
如果需要,FieldName必须是datatable列名或属性名
已分配集合数据源

修改标记,如下所示:

<dx:ASPxGridView ID="gridEmployees" runat="server" AutoGenerateColumns="False" OnLoad="gridEmployees_Load" Width="100%">
    <SettingsAdaptivity>
    <AdaptiveDetailLayoutProperties ColCount="1"></AdaptiveDetailLayoutProperties>
    </SettingsAdaptivity>

    <EditFormLayoutProperties ColCount="1"></EditFormLayoutProperties>
    <Columns>
        <dx:GridViewDataTextColumn Name="Name" FieldName="Employee" Caption="Name" VisibleIndex="0">
        </dx:GridViewDataTextColumn>
        <dx:GridViewDataTextColumn Name="Pending" FieldName="Pending" Caption="Pending" VisibleIndex="1">
        </dx:GridViewDataTextColumn>
        <dx:GridViewDataTextColumn Name="Investigating" FieldName="Investigating" Caption="Investigating" VisibleIndex="2">
        </dx:GridViewDataTextColumn>
        <dx:GridViewDataTextColumn Name="Assigned" FieldName="Assigned" Caption="Assigned" VisibleIndex="3">
        </dx:GridViewDataTextColumn>
        <dx:GridViewDataTextColumn Name="CompleteA" FieldName="CompleteA" Caption="Complete (Assigned)" VisibleIndex="4">
        </dx:GridViewDataTextColumn>
        <dx:GridViewDataTextColumn Name="CompleteS" FieldName="CompleteS" Caption="Complete (Submitted)" VisibleIndex="5">
        </dx:GridViewDataTextColumn>
        <dx:GridViewDataTextColumn Name="PastDueA" FieldName="PastDueA" Caption="Past Due (Assigned)" VisibleIndex="6">
        </dx:GridViewDataTextColumn>
        <dx:GridViewDataTextColumn Name="PastDueS" FieldName="PastDueS" Caption="Past Due (Submitted)" VisibleIndex="7">
        </dx:GridViewDataTextColumn>
        <dx:GridViewDataTextColumn Name="NotAccepted" FieldName="NotAccepted"  Caption="Not Accepted" VisibleIndex="8">
        </dx:GridViewDataTextColumn>
    </Columns>
</dx:ASPxGridView>