选择Row In RadGrid Button_Click

时间:2012-03-09 19:21:01

标签: c# radgrid

我正在使用RadGrid我的ItemTemplate中有LinkBut​​ton。点击此按钮的onclick想要选择行。现在我的问题是,当我点击链接按钮时,它获取了我选择的行的先前选择的索引。这是我的代码:

ASPX

     <telerik:RadGrid ID="RadGridLeadHistory" runat="server" GridLines="None"
                AutoGenerateColumns="False" Width="1090px" Height="200px" HeaderStyle-Width="120px"
                onitemdatabound="RadGridLeadHistory_ItemDataBound"   >
                <MasterTableView ShowHeader="true">
                    <Columns>
                         <telerik:GridBoundColumn DataField="Note"  UniqueName="Note" HeaderText="Note">
                        </telerik:GridBoundColumn>
                    </Columns>
                    <ItemTemplate>
                    <table>
                    <tr>
                    <td width="120px"><asp:Label ID="LabelHistoryNote" runat="server" Text='<%# Bind("Note") %>' Visible="false"></asp:Label>
                     <asp:LinkButton ID="ButtonHistoryNote" runat="server" CommandName="Select"  Text="Note" OnCommand="ButtonHistoryNote_Click" CssClass="buttonsmall" ForeColor="Red" /></td></tr></table>
                        </ItemTemplate>
                </MasterTableView>
                <ClientSettings>
                    <Scrolling AllowScroll="true"  />
                    <Selecting AllowRowSelect="true" />
                </ClientSettings>
            </telerik:RadGrid>

aspx.cs

     protected void ButtonHistoryNote_Click(object sender, EventArgs e)
    {
        string str = "";
      foreach (GridDataItem item in RadGridLeadHistory.SelectedItems)
      {

              Label lb  =(Label)item.FindControl("LabelHistoryNote");
              str = lb.Text;

      }
      string str2 = str;
      TextBoxShowNote.Text = str;

    }

现在我的问题是当我点击LinkBut​​ton它选择我选择的最后一行而不是当前的一行。我该如何解决这个问题?

更新

我得到答案,我在Button中使用CommandName属性并使用select命令,我将我的代码从按钮点击事件更改为RadGrid的SelectedIndex_Change事件并解决了问题......

1 个答案:

答案 0 :(得分:0)

尝试使用此代替For-loop:

foreach (GridDataItem item in RadGridLeadHistory.MasterTableView.Items)
{
    Label lb = item["LabelHistoryNote"].Controls[1] as Label;
    str = lbl.Text;
}