c# - 将按钮作为 GridView 中的最后一列

标签 c# asp.net visual-studio gridview

我有一个 GridView ,我通过代码向其中添加列:

//Retrieve "Table" from database
gridOffers.DataSource = table;
gridOffers.DataBind();

代码添加的列是在按钮之后添加的,这不是我需要的: enter image description here 我如何确保添加到购物车按钮是最后一件事?

gridView 的来源:

<Columns>
             <asp:ImageField DataImageUrlField="ImageUrl" ControlStyle-Width="100"
                ControlStyle-Height = "100" HeaderText = "Preview Image"  
                 ItemStyle-HorizontalAlign="Center">
<ControlStyle Height="100px" Width="100px"></ControlStyle>

<ItemStyle HorizontalAlign="Center"></ItemStyle>
             </asp:ImageField>
             <asp:TemplateField ShowHeader="False">
                 <ItemTemplate>
                     <asp:Button ID="Button1" runat="server" CausesValidation="false" 
                         CommandName="btnAddToCart" Text="Add To Cart" />
                 </ItemTemplate>
             </asp:TemplateField>
        </Columns>

最佳答案

您正在 GridView 源中定义列,并通过将数据源数据绑定(bind)到 GridView。因此,您有两个列源;将列添加到 GridView 的顺序可能有也可能没有保证。

相反,为什么不将 GridView 的 AutoGenerateColumns 设置为 False,然后使用 BoundField 为您想要的每个字段显式指定列顺序来自 GridView 源中的数据源,然后是图像和按钮列?

关于c# - 将按钮作为 GridView 中的最后一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9942668/

相关文章:

c# - 如何为我的应用程序构建搜索机制?

c# - Linq 的 Enumerable.Count 方法检查 ICollection<> 但不检查 IReadOnlyCollection<>

c# - 仅在函数内初始化值一次

c# - 尝试使用 C sharp 中的 catch block

javascript - Jquery 单击带有嵌套元素的选择按钮

c++ - MS Visual Studio 到 Linux - 在 VirtualBox 中编译和调试

c# - 当它们显示在 'Output' 窗口时,我能看到哪一行抛出异常吗?

c# - 为什么我的 .NET Standard 2.0(多目标)项目对依赖程序集之一发出警告?

c# - 存储要在 Azure 角色之间共享的静态文件

node.js - 如何让${port}在express服务器上工作