This is a migrated thread and some comments may be shown as answers.

Getting a row value without selecting the row

3 Answers 101 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Andy
Top achievements
Rank 2
Andy asked on 20 May 2011, 10:00 PM
How do I get a value of a column in the current row if it's not selected? My grid shows data in some bound columns and a template column. The template column has (among other things) a button which will pass a value from that row to open another page via querystring. This doesn't seem like it should be difficult.

Grid only:
<telerik:RadGrid ID="Project_RadGrid" runat="server" CellSpacing="0" DataSourceID="Project_SqlDataSource"
    GridLines="None" AllowSorting="True" ShowGroupPanel="True" AllowPaging="True" Skin="Black">
    <ClientSettings AllowDragToGroup="True">
        <Selecting AllowRowSelect="True" />
    </ClientSettings>
    <MasterTableView AutoGenerateColumns="False" DataKeyNames="JobNumber" DataSourceID="ProjectSqlDataSource">
        <CommandItemSettings ExportToPdfText="Export to PDF" />
        <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column" />
        <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column" />
        <Columns>
            <telerik:GridBoundColumn DataField="JobNumber" DataType="System.Decimal" FilterControlAltText="Filter JobNumber column"
                HeaderText="JobNumber" ReadOnly="True" SortExpression="JobNumber" UniqueName="JobNumber" Display="False">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="SegmentName" FilterControlAltText="Filter SegmentName column"
                HeaderText="Business Segment" SortExpression="SegmentName" UniqueName="SegmentName">
                <ItemStyle HorizontalAlign="Left" VerticalAlign="Top" />
            </telerik:GridBoundColumn>
            <telerik:GridTemplateColumn FilterControlAltText="Filter TemplateColumn1 column" HeaderText="Overview"
                UniqueName="TemplateColumn1">
                <ItemTemplate>
                    <div>
                    <table style="width:99%; vertical-align:text-top;">
                        <tr><th style="width:80%;">
                        <span style="color:#009900;background-color:#F2F2F2;font-variant:small-caps;"><%# DataBinder.Eval(Container.DataItem, "Overview")%></span>
                        </th></tr>
                        <%--
                        *** Add the summary and integration rows only if there is data.
                        --%>
                        <%# If((DataBinder.Eval(Container.DataItem, "Summary") & "") = "", "", "<tr><td>" & DataBinder.Eval(Container.DataItem, "Summary") & "</td></tr>")%>
                        <%# If((DataBinder.Eval(Container.DataItem, "Integration") & "") = "", "", "<tr><td>" & DataBinder.Eval(Container.DataItem, "Integration") & "</td></tr>")%>
                        <tr><td>
                        <asp:Button ID="ShotDetail_Button" runat="server" Text="Shot List..." UseSubmitBehavior="False"
                                OnClick="ShotDetail_Button_Click" />
                        <input id="Comments_Button" type="button" value="Comments..." onclick=" $('#div_Comments').toggle();" />
                        <asp:Button ID="LinkedProjects_Button" runat="server" Text="Linked Projects..." UseSubmitBehavior="False" />
                        </td></tr>
                    </table>
                    </div>
                </ItemTemplate>
                <ItemStyle HorizontalAlign="Left" VerticalAlign="Top" />
            </telerik:GridTemplateColumn>
        </Columns>
        <EditFormSettings>
            <EditColumn FilterControlAltText="Filter EditCommandColumn column" />
        </EditFormSettings>
        <ItemStyle HorizontalAlign="Left" VerticalAlign="Top" />
    </MasterTableView>
    <FilterMenu EnableImageSprites="False" />
    <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default" />
</telerik:RadGrid>

Code behind:
protected void ShotDetail_Button_Click(object sender, System.EventArgs e)
{
    //I need JobNumber here
    Response.Redirect(string.Format("~/ShotDetail.aspx?JobNo={0}", JobNumber));
}

3 Answers, 1 is accepted

Sort by
0
Accepted
Jayesh Goyani
Top achievements
Rank 2
answered on 21 May 2011, 09:00 AM
Hi

with out post back
 
<telerik:GridTemplateColumn AllowFiltering="false">
    <ItemTemplate>
        <a href='~/ShotDetail.aspx?JobNo=<%# Eval("JobNumber")  %> '>
            JobNumber
        </a>
    </ItemTemplate>
</telerik:GridTemplateColumn>
                             
                             
 
With post Back
 
method 1
 
<telerik:GridTemplateColumn UniqueName="ViewForm" >
    <ItemTemplate>
        <asp:LinkButton ID="lnkViewDetail" runat="server" CommandName="ViewDetail" CommandArgument='<%# Eval("JobNumber") %>' Text="ViewDetail"
            ></asp:LinkButton>
    </ItemTemplate>
</telerik:GridTemplateColumn>

With post Back
protected void Radgrid1_ItemCommand(object sender, GridCommandEventArgs e)
    {
        try
        {
            if (e.CommandName == "ViewDetail")
            {
               string JobNumber = e.CommandArgument.toString();
               //Your Code shold be here.....Response,Redirect...
            }
        }
        catch (Exception ex)
        {
        }
    }


Thanks,
Jayesh Goyani
0
Jayesh Goyani
Top achievements
Rank 2
answered on 21 May 2011, 09:06 AM
Hi

u also do with below method,

<asp:Button ID="ShotDetail_Button" runat="server" Text="Shot List..." UseSubmitBehavior="False"
                                OnClick="ShotDetail_Button_Click" />
 <asp:HiddenField ID="hfJobNumber" runat="server" />    
 
 
 protected void ShotDetail_Button_Click(object sender, System.EventArgs e)
{
       Button ShotDetail_Button = (Button)sender;
       GridDataItem editItem = (GridDataItem)ShotDetail_Button.NamingContainer;
       HiddenField hfJobNumber = (HiddenField)editItem.FindControl("hfJobNumber");
       string strJobNumber = hfJobNumber.Value;
       //Response.Redirect(string.Format("~/ShotDetail.aspx?JobNo={0}", JobNumber));
}


Thanks,
Jayesh Goyani
0
Francis Frank
Top achievements
Rank 1
answered on 25 Oct 2011, 12:42 PM
Jayesh Goyani

THANKS SO MUCH FOR US SHORT SOLUTION

It solved my many days of headach in just a fly.
Tags
Grid
Asked by
Andy
Top achievements
Rank 2
Answers by
Jayesh Goyani
Top achievements
Rank 2
Francis Frank
Top achievements
Rank 1
Share this question
or