2012-03-09 66 views
1

我在我的网格中有一行ImageButton。当我点击它时,我需要检索选定行的ID。当我点击一个ImageButton(telerik)时,检索一行的ID

我的网格使用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> 

正如你看到的,我需要在我的aspx页面指定IdAgir通过URL来传递给JS功能。 感谢您的帮助

回答

4

确保包括idAgir在你的数据源,与你尝试这应该工作的实施准备:

<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(); 
     } 
    } 
+0

非常感谢很多兄弟,第一个选项完美地工作! – Slrg 2012-03-09 16:03:11

相关问题