如何在设计器中指定列时填充gridview?

时间:2013-03-18 11:47:13

标签: c# asp.net

我真的是新手,但有人可以告诉我如何在GridView中添加值,当我在设计器中定义列时。我有一列Buttonfield类型的列。我的default.asax代码如下所示。

代码

    <asp:GridView ID="gvTableHolding" runat="server" BackColor="White" 
    BorderColor="#CCCCCC" BorderWidth="1px" CellPadding="3" Width="1184px" 
    BorderStyle="None" CssClass="DDGridView" 
        onrowcommand="gvTableHolding_RowCommand" ShowHeaderWhenEmpty="True"
        EmptyDataText=" No Data!" ViewStateMode="Enabled">

        <Columns>
            <asp:BoundField HeaderText="Holding Register " />
            <asp:BoundField HeaderText="Description" />
            <asp:BoundField HeaderText="Set Value" />
            <asp:ButtonField ButtonType="Button" ShowHeader="True" Text="ChangeValue" 
                CommandName="ChangeValue" HeaderText="Buttons" />
            <asp:BoundField HeaderText="Default Value" />
            <asp:BoundField HeaderText="Decimal" />
            <asp:BoundField HeaderText="Hex" />
        </Columns>

    <FooterStyle BackColor="White" ForeColor="#000066" />
    <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
    <PagerStyle BackColor="White" ForeColor="#000066" 
        HorizontalAlign="Left" />
    <RowStyle ForeColor="#000066" HorizontalAlign="Center"/>
    <SelectedRowStyle BackColor="#669999" ForeColor="White" Font-Bold="True" />
    <SortedAscendingCellStyle BackColor="#F1F1F1" />
    <SortedAscendingHeaderStyle BackColor="#007DBB" />
    <SortedDescendingCellStyle BackColor="#CAC9C9" />
    <SortedDescendingHeaderStyle BackColor="#00547E" />
</asp:GridView>

提前谢谢!

2 个答案:

答案 0 :(得分:2)

我真的不知道为什么要在按钮字段中显示列标题。您可以使用TemplateField&amp; ItemField标签内的Column,例如:

<asp:TemplateField HeaderStyle-Font-Bold="true" HeaderText="Holding Register " Visible="false">
                    <ItemTemplate>
                        <asp:Label Text='<%# DataBinder.Eval(Container.DataItem, "Holding_Register")%>' ID="lblUserId"
                            runat="server"></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderStyle-Font-Bold="true" HeaderText="Description" Visible="false">
                    <ItemTemplate>
                        <asp:Label Text='<%# DataBinder.Eval(Container.DataItem, "Description")%>' ID="lblUserId"
                            runat="server"></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>

答案 1 :(得分:2)

首先在每列中定义DataField。像这样 -

<Columns>
        <asp:BoundField HeaderText="Holding Register " DataField="Holding_Register"/>
        <asp:BoundField HeaderText="Description" DataField="Description"/>
</Columns>

然后将数据源与代码中的网格绑定。

gvTableHolding.DataSource = GetData();
gvTableHolding.DataBind();

您应该记住的一件事是,GetData()无论您返回什么(DataTable或List),这些属性名称都应该与您在Grid中定义的DataField匹配。