문제

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>
도움이 되었습니까?

해결책

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;
            }

        }

다른 팁

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!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top