Pergunta

I want to add hyperlinks to each value in the 'Destination' column. So if you click any value in the 'Destination' column then it will lead to to another page.

The page i want to link this to it: 'included_codes.aspx'

To get to this page you need to pass the dr_id which is a value in every row. Its not shown on the grid but it is still present in the datasource.

I need to know how to code this so that each value in the 'Destination' column can be clicked on and it will go the includes_codes.aspx page.

This is the code for the grid:

<dxwgv:ASPxGridView ID="dgrdResults" runat="server" AutoGenerateColumns="False" 
                DataSourceID="DedicatedRouteDataSource" Width="100%" 
                onhtmlrowcreated="dgrdResults_HtmlRowCreated">
                <Columns>
                    <dxwgv:GridViewDataTextColumn Caption="Switch" FieldName="switch_code" 
                        VisibleIndex="0" Width="30px">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="LCR" FieldName="lcr_name" 
                        VisibleIndex="1">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="Customer" FieldName="cus_company_name" 
                        VisibleIndex="2" Width="150px">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="Vendor" FieldName="carrier" 
                        VisibleIndex="3">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="Ratio" 
                        VisibleIndex="4">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="Overflow" 
                        VisibleIndex="5">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="Destination" FieldName="bnd_name" 
                        VisibleIndex="6">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="Peak" FieldName="peak" 
                        VisibleIndex="7">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="O/Peak" FieldName="off_peak" 
                        VisibleIndex="8">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="W/End" FieldName="weekend" 
                        VisibleIndex="9">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="Created" FieldName="active_date" 
                        VisibleIndex="10">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="Status" FieldName="stt_display_order" 
                        VisibleIndex="11">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="Special" VisibleIndex="12">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="Comments" FieldName="comments" 
                        VisibleIndex="13">
                    </dxwgv:GridViewDataTextColumn>
                    <dxwgv:GridViewDataTextColumn Caption="Edit" VisibleIndex="14">
                    </dxwgv:GridViewDataTextColumn>
                </Columns>
                <SettingsPager PageSize="16" ></SettingsPager>                                                       
            </dxwgv:ASPxGridView>
Foi útil?

Solução

Worked out the answer:

        if (e.RowType == GridViewRowType.Data)
        {              
            ASPxGridView dgrdResults = sender as ASPxGridView;
            ASPxHyperLink destinationLink = dgrdResults.FindRowCellTemplateControl(e.VisibleIndex, null, "DestinationLink") as ASPxHyperLink;
            ASPxHyperLink statusLink = dgrdResults.FindRowCellTemplateControl(e.VisibleIndex, null, "stt_display_order") as ASPxHyperLink;

            if (e.GetValue("bnd_name") != null)
            {
                int DrId = Convert.ToInt32((e.GetValue("dr_id")));
                destinationLink.NavigateUrl = "./included_codes.aspx?mode=Edit&dr_id=" + DrId;
            }
            else
            {
                destinationLink.Enabled = false;
                destinationLink.ForeColor = Color.Black;
            }

        }

Outras dicas

Add this code and try ,

 <dxwgv:GridViewDataTextColumn VisibleIndex="3" Caption="Simple Hyperlink Column">
            <DataItemTemplate>
                <a id="clickElement" target="_blank"   
                href='included_codes.aspx.aspx?dr_id=<%# Container.KeyValue%>"><%# "Show New Form, Key Field = " + Eval("YourFieldName").ToString()%></a>
            </DataItemTemplate>
 </dxwgv:GridViewDataTextColumn>

For more information , you should reference this link!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top