仅当列值高于0时才在gridview中显示按钮

时间:2017-04-30 22:16:50

标签: c# asp.net

此gridview显示表“productos”的值当前正在所有行中显示一个按钮,但我只需要在库存(Existencias)高于0的行中显示一个按钮

<div>    
    <asp:SqlDataSource ID="SqlDataSource1" runat="server"ConnectionString="<%$ ConnectionStrings:bodegahyhConnectionString %>" SelectCommand="SELECT * FROM [Productos]"></asp:SqlDataSource>
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="IdProducto" DataSourceID="SqlDataSource1">
        <Columns>
            <asp:BoundField DataField="IdProducto" HeaderText="IdProducto" InsertVisible="False" ReadOnly="True" SortExpression="IdProducto" />
            <asp:BoundField DataField="IdCiudad" HeaderText="IdCiudad" SortExpression="IdCiudad" />
            <asp:BoundField DataField="IdTamano" HeaderText="IdTamano" SortExpression="IdTamano" />
            <asp:BoundField DataField="IdFragilidad" HeaderText="IdFragilidad" SortExpression="IdFragilidad" />
            <asp:BoundField DataField="IdMarca" HeaderText="IdMarca" SortExpression="IdMarca" />
            <asp:BoundField DataField="IdUbicacion" HeaderText="IdUbicacion" SortExpression="IdUbicacion" />
            <asp:BoundField DataField="IdProveedor" HeaderText="IdProveedor" SortExpression="IdProveedor" />
            <asp:BoundField DataField="NomProducto" HeaderText="NomProducto" SortExpression="NomProducto" />
            <asp:BoundField DataField="Descripcion" HeaderText="Descripcion" SortExpression="Descripcion" />
            <asp:BoundField DataField="Existencias" HeaderText="Existencias" SortExpression="Existencias" />
            <asp:BoundField DataField="PrecioVenta" HeaderText="PrecioVenta" SortExpression="PrecioVenta" />
            <asp:BoundField DataField="PrecioCompra" HeaderText="PrecioCompra" SortExpression="PrecioCompra" />
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:Button id="btn_agregar" runat="server" Text="Agregar" Enabled="true" />
            </ItemTemplate>
            </asp:TemplateField>
       </Columns>
    </asp:GridView>
    <br />
    <br />    
</div>

2 个答案:

答案 0 :(得分:0)

尝试如下所述(代码未经过测试..)

使用// [[Rcpp::depends(RcppArmadillo)]] #include <RcppArmadillo.h> using namespace arma; using namespace Rcpp; // [[Rcpp::export]] int one() { return 1; } /*** R one() */ 事件。当数据行(由RowDataBound对象表示)绑定到GridView控件中的数据时,将引发RowDataBound事件。

首先将GridViewRow添加到您的ASP onrowdatabound="CustomersGridView_RowDataBound定义中,如下所示。

gridview

接下来在您的代码隐藏文件处理事件并显示/隐藏按钮,如下所示。

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="IdProducto" DataSourceID="SqlDataSource1" onrowdatabound="CustomersGridView_RowDataBound">

答案 1 :(得分:0)

您可以通过将列值检查为为Visibility属性返回布尔值的内联if语句来轻松完成此操作。

<asp:Button id="btn_agregar" runat="server" Visible='<%# Convert.ToInt32(Eval("IdProducto")) > 0 %>' Text="Agregar" />