Выберите строку в RadGrid Button_Click - PullRequest
0 голосов
/ 09 марта 2012

Я использую RadGrid, и у меня есть LinkButton в его ItemTemplate. Нажав на эту кнопку ссылки, я хочу выбрать строку. Теперь моя проблема заключается в том, что когда я нажимаю на кнопку ссылки, она получает предыдущий выбранный индекс в строке, которую я выбрал. Вот мой код:

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;

    }

Теперь моя проблема в том, что когда я нажимаю на LinkButton, выбирается последняя выбранная строка, а не текущая. Как я могу решить эту проблему?

UPDATE

Я получаю ответ, я использую свойство CommandName в Button и использую команду select, я изменяю свой код с события нажатия кнопки на SelectedIndex_Change, событие RadGrid и решенная проблема ...

1 Ответ

0 голосов
/ 11 марта 2012

Попробуйте это вместо цикла For:

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