我正在使用RadGrid我的ItemTemplate中有LinkButton。点击此按钮的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;
}
现在我的问题是当我点击LinkButton它选择我选择的最后一行而不是当前的一行。我该如何解决这个问题?
更新
我得到答案,我在Button中使用CommandName属性并使用select命令,我将我的代码从按钮点击事件更改为RadGrid的SelectedIndex_Change事件并解决了问题......
答案 0 :(得分:0)
尝试使用此代替For-loop:
foreach (GridDataItem item in RadGridLeadHistory.MasterTableView.Items)
{
Label lb = item["LabelHistoryNote"].Controls[1] as Label;
str = lbl.Text;
}