Получить идентификатор строки, когда я нажимаю на кнопку ImageButton (Telerik) - PullRequest
1 голос
/ 09 марта 2012

В моей сетке есть кнопка ImageButton в каждой строке. Когда я нажимаю на него, мне нужно получить идентификатор выбранной строки.

Моя сетка выполняется с использованием ObjectDataSource.

Это столбец, о котором я говорю:

        <telerik:GridTemplateColumn UniqueName="ImageColumnDetails">
            <ItemTemplate>
                <asp:ImageButton ID="ImageButtonDetails" runat="server" ImageUrl="~/img/cle-outil_white.gif"
                     ToolTip="Détails du ticket"
                     OnClientClick='<%# Eval("idAgir","openRadWin({0})") %>;return false;'/>
            </ItemTemplate>
        </telerik:GridTemplateColumn>

Как видите, мне нужно указать IdAgir на моей странице aspx, чтобы передать его по URL-адресу функции JS. Спасибо за вашу помощь

1 Ответ

3 голосов
/ 09 марта 2012

Убедитесь, что idAgir включен в ваш DataSource, и реализация, которую вы пытаетесь выполнить, должна работать:

<telerik:GridTemplateColumn UniqueName="ImageColumnDetails">
     <ItemTemplate>
           <asp:ImageButton ID="ImageButtonDetails" runat="server" ImageUrl="~/img/cle-outil_white.gif"
                         ToolTip="Détails du ticket"
                         OnClientClick='<%# String.Format("openRadWin({0});return false;",DataBinder.Eval(Container,"DataItem.idAgir"))%> '/>
      </ItemTemplate>
 </telerik:GridTemplateColumn>

-

Лично я обычно использую этот подход и изменяю свои столбцы на стороне сервера, но на самом деле я не вижу разницы.

<telerik:GridTemplateColumn HeaderText="User Name" UniqueName="UserName" SortExpression="UserName">
     <ItemTemplate>
         <asp:HyperLink ID="UserNameLink" runat="server" CssClass="lnkAction icon_toolbar_edit_blue"></asp:HyperLink>
     </ItemTemplate>
</telerik:GridTemplateColumn>


protected void radGrid_ItemCreated(object sender, GridItemEventArgs e)
    {

        if (e.Item is GridDataItem)
        {
            var dataBoundItem = e.Item as GridDataItem;
            HyperLink userNameLink = (HyperLink)dataBoundItem.FindControl("UserNameLink");
            userNameLink.Attributes["href"] = "#";
            userNameLink.Attributes["onclick"] = String.Format("selectRow('{0}');return ShowEditUser('{1}');", dataBoundItem.ItemIndex, dataBoundItem.OwnerTableView.DataKeyValues[dataBoundItem.ItemIndex]["id"]);
            userNameLink.Text = dataBoundItem.OwnerTableView.DataKeyValues[dataBoundItem.ItemIndex]["UserName"].ToString();
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...