如何获取单元格的值而不是devexpress gridview中行的键值?

时间:2014-01-13 10:33:42

标签: asp.net gridview devexpress

尝试将其他值绑定,然后将“Container.KeyValue”绑定到我的链接行。不确定如何从“TidrapportId”单元格中获取值以跟随clickElement。

当我点击“Tid”中的字段值时,我想使用“TidrapportId”中的值创建一个链接。

<Columns>
    <dx:GridViewDataTextColumn FieldName="AnvId" ReadOnly="True" Visible="false">
        <EditFormSettings Visible="False" />
    </dx:GridViewDataTextColumn>
    <dx:GridViewDataTextColumn FieldName="Ansvarig" ReadOnly="True" Width="200px" />
    <dx:GridViewDataTextColumn FieldName="Namn" ReadOnly="True" Width="200px" />
    <dx:GridViewDataTextColumn FieldName="Vecka" VisibleIndex="3">
    </dx:GridViewDataTextColumn>
    <dx:GridViewDataDateColumn FieldName="VeckoDatum" VisibleIndex="4" Width="200px" Visible="false">
    </dx:GridViewDataDateColumn>
    <dx:GridViewDataTextColumn FieldName="Tid" VisibleIndex="5" ReadOnly="True">
        <DataItemTemplate>
            <a id="clickElement" target="_blank" href="Tidrapport.aspx?id=<%# Container.KeyValue%>"><%# Eval("Tid").ToString()%></a>
        </DataItemTemplate>
    </dx:GridViewDataTextColumn>
    <dx:GridViewDataTextColumn FieldName="OTid" ReadOnly="True" VisibleIndex="6" Visible="false">
    </dx:GridViewDataTextColumn>
    <dx:GridViewDataTextColumn FieldName="KvalTid" ReadOnly="True" VisibleIndex="7" Visible="false">
    </dx:GridViewDataTextColumn>
    <dx:GridViewDataTextColumn FieldName="TidrapportId" ReadOnly="True" VisibleIndex="8" Visible="True">
    </dx:GridViewDataTextColumn>
</Columns>

1 个答案:

答案 0 :(得分:1)

您可以在页面后面的代码中实现方法

    protected string GetUrl(GridViewDataItemTemplateContainer container)
    {
        if (container != null)
        {
            var tdi = _gridView.GetRowValues(container.VisibleIndex, "Tdi");
            return String.Format("Tidrapport.aspx?id=?{0}{1}", container.KeyValue, tdi);
        }

        return "Tidrapport.aspx";
    }

并在页面布局中使用

<dx:GridViewDataHyperLinkColumn FieldName="Tid" >
    <DataItemTemplate>
        <dx:ASPxHyperLink ID="ASPxHyperLink2" runat="server" NavigateUrl="<%# GetUrl(Container) %>" />
    </DataItemTemplate>
</dx:GridViewDataHyperLinkColumn>