datagridview上的数据绑定问题

时间:2012-05-16 13:33:19

标签: c# asp.net data-binding gridview page-lifecycle

实际上,说问题可能是错的。我有2页。我可以从第一页的第二页获取查询字符串。这个查询字符串是我查询的关键部分。在调试模式时,我可以看到查询的结果,它们将是我想要的。但它无法在我的gridview上显示。 这是我的代码块: 我的CustomerList页面,

public partial class CustomerList : System.Web.UI.Page
    {
        CustomerBusiness m_CustomerBusiness = new CustomerBusiness();
        COMPANY m_Company = new COMPANY();

    protected void Page_Load(object sender, EventArgs e)
            {
                if (!Page.IsPostBack)
                {
                    BindCustomers();
                }
            }

        private void BindCustomers()
                {
                    string CompanyName = Request.QueryString.Get("CompanyName");

                    LabelCompanyName.Text = CompanyName;
                    List<CUSTOMER> CustomerListt = m_CustomerBusiness.SelectByFirmName(CompanyName);
                    GridViewCustomerList.DataSource = CustomerListt;
                    GridViewCustomerList.DataBind();
                }
}

GridViewCustomerList:

 <asp:GridView ID="GridViewCustomerList" runat="server" 
            AutoGenerateColumns="False" BackColor="White" BorderColor="#999999" 
            BorderStyle="None" BorderWidth="1px" CellPadding="3" GridLines="Vertical" 
            ondatabinding="GridViewCustomerList_DataBinding" 
            onselectedindexchanged="GridViewCustomerList_SelectedIndexChanged" 
            Width="239px">
            <AlternatingRowStyle BackColor="#DCDCDC" />
            <FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
            <HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
            <RowStyle BackColor="#EEEEEE" ForeColor="Black" />
            <SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" />
            <SortedAscendingCellStyle BackColor="#F1F1F1" />
            <SortedAscendingHeaderStyle BackColor="#0000A9" />
            <SortedDescendingCellStyle BackColor="#CAC9C9" />
            <SortedDescendingHeaderStyle BackColor="#000065" />
        </asp:GridView>

CustomerList是我想要的,但我的绑定部分不起作用,我在运行项目时看不到GridViewCustomerList。我研究了一些asp.net页面生命周期模型,目标解决方案可能与此有关。

1 个答案:

答案 0 :(得分:3)

此处的问题是您的标记中没有明确的<Column>声明,并且AutoGenerateColumns property设置为“false”。因此,即使数据绑定到您的GridView控件,它也不知道要显示什么(因此它什么都不显示。

这里最简单的解决方案是从GridView声明中删除AutoGenerateColumns="False"(默认为“true”),你应该好好去。它将根据您的DataSource自动创建列。

或者,您可以通过向GridView添加列部分来指定所需的列。

    <columns>
      <asp:boundfield datafield="columnOne" headertext="Column 1"/>
      <asp:boundfield datafield="columnTwo" headertext="Column 2"/>
      <asp:boundfield datafield="columnThree" headertext="Column 3"/>
    </columns>
</asp:GridView>