How to find column values ​​for a selected row in radgrid

I am using radgrid with rowcontextmenu. when I right-click on the radgrid line and select the edit option, it will open a popup. What I need is when I right-click on the radgrid core, I just want to get the values ​​from 3 columns for this particular selected row. For example, when I right-click on the selected radgrid row, I want to get the client name, header name, site name values ​​for the selected row.

Here is my code ....

<MasterTableView GridLines="None" DataKeyNames="orderId" CommandItemDisplay="Top"
                        EditMode="EditForms">
                        <Columns>
                            <telerik:GridClientSelectColumn UniqueName="ClientSelectColumn" HeaderStyle-Width="3%"
                                ItemStyle-Width="3%">
                                <HeaderStyle Width="3%"></HeaderStyle>
                                <ItemStyle Width="3%"></ItemStyle>
                            </telerik:GridClientSelectColumn>
                            <telerik:GridBoundColumn UniqueName="sId" HeaderText="sId" DataField="sId" ReadOnly="true"
                                Visible="false">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn UniqueName="orderId" HeaderText="orderId" Visible="false"
                                ReadOnly="true" DataField="orderId">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn UniqueName="Customer Name" HeaderText="Customer Name" DataField="Customer Name"
                                ReadOnly="true">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn UniqueName="Market Name" HeaderText="Market Name" DataField="Market Name"
                                ReadOnly="true">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn UniqueName="LOB" HeaderText="LOB" DataField="LOB" ReadOnly="true">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn UniqueName="Headend Name" HeaderText="Headend Name" DataField="Headend Name"
                                ReadOnly="true">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn UniqueName="Project Name" HeaderText="Project Name" DataField="Project Name"
                                ReadOnly="true">
                            </telerik:GridBoundColumn>
                            <telerik:GridTemplateColumn UniqueName="Site Name" HeaderText="Site Name" DataField="SiteName"
                                ReadOnly="true">
                                <ItemTemplate>
                                    <asp:LinkButton ID="lnkSiteName" runat="server" Text='<%# Eval( "Site Name" ) %>'
                                        ForeColor="Blue" CommandName="sitename"></asp:LinkButton>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridBoundColumn UniqueName="Task Status" HeaderText="Task Status" DataField="Task Status"
                                ReadOnly="true">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn UniqueName="Clarify Account Nbr" HeaderText="Clarify Account Nbr"
                                DataField="Clarify Account Nbr">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn UniqueName="Site ID" HeaderText="Site ID" DataField="Site ID">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn UniqueName="Quote ID" HeaderText="Quote ID" DataField="Quote ID">
                            </telerik:GridBoundColumn>
                            <telerik:GridCheckBoxColumn UniqueName="EDP Created?" HeaderText="EDP Created?" DataField="EDP Created?">
                            </telerik:GridCheckBoxColumn>
                            <telerik:GridEditCommandColumn UniqueName="EditCommandColumn" Display="false">
                            </telerik:GridEditCommandColumn>
                        </Columns>

    protected void RadMenu1_ItemClick(object sender, RadMenuEventArgs e)
{
    int radGridClickedRowIndex;

    radGridClickedRowIndex = Convert.ToInt32(Request.Form["radGridClickedRowIndex"]);

    switch (e.Item.Text)
    {
        case "Edit Task":
            string OrdID = rg200.MasterTableView.DataKeyValues[radGridClickedRowIndex]["orderId"].ToString();
            lblOrdHeadName.Text = rg200.MasterTableView.NamingContainer.FindControl("Headend Name").ToString();

            Session["orderId"] = OrdID;
            ifrmPopups.Style.Add("height", "409px");
            StringBuilder Script = new StringBuilder();
            Script.Append("document.getElementById('ctl00_PagePlaceholder_WinEditForm_C_ifrmPopups');openpopups()");
            RadAjaxManager1.ResponseScripts.Add(Script.ToString());
            rg200.Rebind();
            break;
    }
}

if you see the above code, I can get the orderId value for the selected column. But when I try to get the Headend Name value, I get an error. How to get the header value for the selected row.

+3
4

GridDataItem item = (GridDataItem)rg200.MasterTableView.Items[radGridClickedRowIndex];

lblOrdHeadName.Text = item["HeadendName"].Text;
+1

, ,

GridDataItem item = (GridDataItem)rg200.MasterTableView.Items[rg200.SelectedItems[0].ItemIndex];

lblOrdHeadName.Text = item["HeadendName"].Text;
+6

Try this code to get the value Headend Namefrom a right-click string:

lblOrdHeadName.Text = (rg200.MasterTableView.FindItemByKeyValue("orderId") as GridDataItem)["Headend Name"].Text;
+1
source

You can use the following code to cycle through the selected elements and store the identifier values ​​in an array and, thus, pass it to the method. Also set the EnablePostBackOnRowClickgrid property totrue

protected void RadGrid1_ItemCommand(object source, GridCommandEventArgs e)   
{   
    string[] array = new string[10];   
    int i = 0;   
    if (e.CommandName == "RowClick")   
    {   
        foreach (GridDataItem item in RadGrid1.SelectedItems)   
        {   
            array[i] = item.GetDataKeyValue("EmpID").ToString();  // storing to array   
            i++;   
        }   
    }   
}  
+1
source

Source: https://habr.com/ru/post/1757175/


All Articles