2012-03-02 70 views
1

我有一個使用telerik radgrid控件的問題。我想在網格處於編輯模式時使用javascript訪問文本框。RadGrid - 在編輯模式下獲取文本框

我的代碼如下所示:

<telerik:RadGrid ID="RadGrid1" GridLines="None" runat="server" AllowAutomaticDeletes="True" 
     AllowSorting="False" AllowAutomaticInserts="True" PageSize="10" AllowAutomaticUpdates="True" 
     OnItemDataBound="RadGrid1_ItemDataBound" AllowMultiRowEdit="False" AllowPaging="False" 
     DataSourceID="DataSource1" OnItemUpdated="RadGrid1_ItemUpdated" AllowFilteringByColumn="False" 
     OnItemDeleted="RadGrid1_ItemDeleted" OnItemInserted="RadGrid1_ItemInserted" AutoGenerateColumns="false" 
     OnDataBound="RadGrid1_DataBound"> 
     <PagerStyle Mode="NextPrevAndNumeric" /> 
     <MasterTableView Width="100%" CommandItemDisplay="TopAndBottom" DataKeyNames="Id" 
      DataSourceID="DataSource1" HorizontalAlign="NotSet" EditMode="EditForms"> 
      <Columns> 
       <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn"> 
        <ItemStyle CssClass="MyImageButton" /> 
       </telerik:GridEditCommandColumn> 
       <telerik:GridButtonColumn ConfirmText="Delete this product?" ConfirmDialogType="RadWindow" 
        ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" Text="Delete" 
        UniqueName="DeleteColumn"> 
        <ItemStyle HorizontalAlign="Center" CssClass="MyImageButton" /> 
       </telerik:GridButtonColumn> 
       <telerik:GridBoundColumn DataField="Id" HeaderText="Id" Display="false" ReadOnly="true" /> 
       <telerik:GridBoundColumn DataField="Manufacturer" HeaderText="Manufacturer" /> 
       <telerik:GridBoundColumn DataField="Description" HeaderText="Description" /> 
       <telerik:GridBoundColumn DataField="Configuration" HeaderText="Configuration" /> 
       <telerik:GridDropDownColumn DataField="TypeId" HeaderText="Type" UniqueName="PartsType" 
        DataSourceID="PartsTypeDataSource" ListTextField="Name" ListValueField="Id" /> 

什麼我以後是,在編輯模式下,當用戶從下拉列表中「PartsType」,另外的一個選擇某個值字段 - 例如'製造商'將顯示/隱藏。

我能得到的下拉值(在javascript)通過附加一個JavaScript函數的下拉列表:

function PartsTypeIndexChanged(sender, args) { 
    var selectedValue = args.get_item()._text; 

} 

我只是不知道使用哪種方法來獲取「製造商」場,所以我可以顯示/隱藏它。

任何人都可以請幫忙嗎?

非常感謝。

回答

1

一個可能的辦法是使用的RadControls客戶端的靜態API

$telerik.findElement(gridDOMElement, "Manufacturer"); 

這將幫助你訪問列編輯 - 我想這是呈現爲輸入ASP.NET文本框。對於數字或日期列,編輯器可能是Telerik客戶端組件,因此您必須使用findControl而不是findElement。

此處瞭解詳情: http://www.telerik.com/help/aspnet-ajax/telerik-static-client-library.html

好運

+0

謝謝我會給那一個去。 – skub 2012-03-03 10:06:19

+0

你能告訴我gridDOMElement應該是什麼嗎? – skub 2012-03-04 22:19:12

+0

gridDOMElement是RadGrid控件的DOM元素。你可以用不同的方式獲得它。最簡單的(但不是最快的)將使用相同的方法 $ telerik.findElement(document,「RadGrid1」);另一方面,如果你已經有客戶端組件對象(不是DOM元素),你可以這樣做: radGrid.get_element();如果你已經有了客戶端組件對象(不是DOM元素),你可以這樣做: radGrid.get_element(); – 2012-03-05 08:07:01

相關問題