Добавить больше столбцов в GridView - PullRequest
0 голосов
/ 28 февраля 2012

У меня есть GridView, который привязан к таблице базы данных.GridView показывает некоторые книги (цена, информация об авторе и т. Д.).

Я хочу добавить столбец " Добавить в корзину " к этому GridView в конце каждогокнига.Я добавил один столбец с текстом «Добавить в корзину».Но при отладке выдается сообщение об ошибке: « Добавить в корзину нет в базе данных».

Поэтому, пожалуйста, сообщите мне, как добавить этот столбец к GridView.

Разметка

<asp:GridView ID="GridView1" runat="server" BorderStyle="Double" 
    BorderWidth="3px" CellPadding="4" GridLines="Horizontal" Height="260px" 
    Width="661px">

    <FooterStyle BackColor="White" ForeColor="#333333" />
    <HeaderStyle BackColor="#336666" Font-Bold="True" ForeColor="White" />
    <PagerStyle BackColor="#336666" ForeColor="White" HorizontalAlign="Center" />
    <RowStyle BackColor="White" ForeColor="#333333" />
    <SelectedRowStyle BackColor="#339966" Font-Bold="True" ForeColor="White" />
    <SortedAscendingCellStyle BackColor="#F7F7F7" />
    <SortedAscendingHeaderStyle BackColor="#487575" />
    <SortedDescendingCellStyle BackColor="#E5E5E5" />
    <SortedDescendingHeaderStyle BackColor="#275353" />
    <Columns>
        <asp:ButtonField Text="Add To Cart">
        <FooterStyle HorizontalAlign="Right" />
        <HeaderStyle HorizontalAlign="Right" />
        <ItemStyle HorizontalAlign="Left" />
        </asp:ButtonField>
    </Columns>
</asp:GridView>

Код

public partial class WebForm9 : System.Web.UI.Page<p>
{
    buybl obj = new buybl();
    protected void Page_Load(object sender, EventArgs e)
    {
        obj.dept = "IT";
        GridView1.DataSource = obj.select();
        GridView1.DataBind();
    }
}

Ответы [ 3 ]

1 голос
/ 28 февраля 2012

Без вашей разметки сложно сказать. Но, похоже, вы смоделировали столбец «Добавить в корзину» после столбцов, которые связаны с базой данных. Вероятно, у вас есть столбцы с привязкой к данным, настроенные как BoundFields, например:

<Columns>
    <asp:BoundField DataField="Title" HeaderText="Book Title" />
    <asp:BoundField DataField="Author" HeaderText="Book Author" />
    <asp:BoundField DataField="Price" HeaderText="Book Price" />
</Columns>

Ваш столбец "Добавить в корзину" не будет привязан к базе данных. Если вы просто хотите добавить столбец со статической кнопкой, вы можете добавить CommandField к вашему GridView, например:

<Columns>
    <asp:BoundField DataField="Title" HeaderText="Book Title" />
    <asp:BoundField DataField="Author" HeaderText="Book Author" />
    <asp:BoundField DataField="Price" HeaderText="Book Price" />
    <asp:CommandField SelectText="Add To Cart" ShowSelectButton="True" />
</Columns>

Или вы можете просто добавить AutoGenerateSelectButton="True" к вашей GridView разметке. Затем вы можете обрабатывать добавление товаров в корзину в событиях RowCommand или SelectedIndexChanged, которые запускаются при нажатии кнопки Выбрать

0 голосов
/ 05 апреля 2013

Используйте тип столбца TemplateField - неограниченная настройка:http://msdn.microsoft.com/en-us/library/bb288032.aspx

<asp:TemplateField HeaderText="FirstName" SortExpression="FirstName">

    <EditItemTemplate>

        <asp:TextBox ID="TextBox1" runat="server" Text='<% #Bind("FirstName") %>'></asp:TextBox>

    </EditItemTemplate>

    <ItemTemplate>

        <asp:Label ID="Label1" runat="server" Text='<% #Bind("FirstName") %>'></asp:Label>

    </ItemTemplate>

</asp:TemplateField>
0 голосов
/ 28 февраля 2012

Вы можете добавить столбец, как это в gridview

<asp:TemplateField  >
   <HeaderTemplate  >
   <asp:Button ID="ButtonName" runat="server"  Text="Add to Cart" >   </asp:Button> 
</HeaderTemplate>
</asp:TemplateField>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...