如何在GridView单元格中获取值以传递前端的函数?

时间:2016-12-01 21:54:20

标签: asp.net vb.net gridview webforms

我真的不知道怎么说这个问题,所以如果有人对如何改进措辞有任何建议,我很乐意改变它。

我需要知道如何在单击按钮的GridViewRow中获取单元格的值。我有以下GridView:

<asp:GridView ID="Gv_MipData" AllowSorting="true" runat="server" CssClass="GridViewStyle"
    PageSize="30" Width="100%" AllowPaging="true">
    <RowStyle CssClass="RowStyle" />
    <EmptyDataRowStyle CssClass="EmptyRowStyle" />
    <PagerSettings Position="TopAndBottom" />
    <PagerStyle CssClass="PagerStyle" />
    <SelectedRowStyle CssClass="SelectedRowStyle" />
    <HeaderStyle CssClass="HeaderStyle" />
    <Columns>
        <asp:TemplateField>
            <ItemTemplate>
                <asp:LinkButton ID="GvBtnApprove" runat="server" CausesValidation="False" Style='display: block; width: 100px;'
                    CommandName="Approve" CssClass="buttonlggrid" Text="Approve" OnClick="ApproveButtonClick"
                    OnClientClick="return confirm('Are you sure you want to approve this suggestion?');"
                    Visible='<%# IsApproveVisible() %>'>
                </asp:LinkButton>
                <asp:LinkButton ID="GvBtnDeny" runat="server" CausesValidation="False" Style='display: block; width: 100px;'
                    CommandName="Deny" CommandArgument="<%#Container.DataItemIndex %>"
                    CssClass="buttonlggrid" Text="Deny" OnClick="DenyButtonClick">
                </asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

您会注意到我的TemplateField中有两个LinkBut​​tons。第一个按钮GvBtnApprove具有绑定到其Visible属性的函数。 IsApproveVisible()函数的代码在这里:

Protected Function IsApproveVisible(mip_status As String) As Boolean
    If mip_status = "Pending" Then
        Return True
    ElseIf mip_status = "Approved" Then
        Return False
    Else
        Return True
    End If
End Function

该函数采用名为mip_status的参数。此参数的值保存在GridView中每行的单元格12中。如何将此值传递给IsApproveVisible()函数?如果你想知道的话,我打算为GvBtnDeny做同样的事情。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用

Visible='<%# IsApproveVisible(Eval("columnName").ToString) %>'

如果您真的想使用索引来获取值,可以使用此

Visible='<%# IsApproveVisible(Eval("[12]").ToString) %>'