2012-04-23 33 views
1

我在我的項目中使用telerik控件,任何機構都告訴如何在telerik網格視圖中獲取選擇更改事件,以便在插入,編輯時填充多個列文本框。這是在mvc3 +剃鬚刀(cshtml)。如何在網格視圖中獲取telerik下拉選擇更改事件

編輯模板代碼

@model string 
<table> 
    <tr> 
     <td> 
      @(Html.Telerik().ComboBoxFor(e => e) 
       .BindTo(ViewBag.pro as SelectList) 
       .ClientEvents(events => events.OnChange("getproductdesc"))) 
     </td> 

     <td> 

     </td> 
     <td> 
      @Html.TextBoxFor((model => model), new { id = "textbox" }) 

     </td> 
    </tr> 
</table> 

<script type="text/javascript"> 

    function getproductdesc(e) { 
     var idmodel = $(this).val(); 
     alert(idmodel); 
     $('#textbox').val($(this).val());    
    } 
</script> 

網格視圖代碼

@(Html.Telerik().Grid(Model) 
    .Name("gdProductDetails") 
    .ToolBar(commands => commands.Insert()) 
      .DataKeys(keys => keys.Add(c => c.Product_cd)) 
      .Pageable(paging => 
        paging.PageSize(5) 
          .Style(GridPagerStyles.NextPreviousAndNumeric) 
          .Position(GridPagerPosition.Bottom)) 
            .Sortable(sorting => sorting 
        .SortMode(GridSortMode.MultipleColumn)) 
        .DataBinding(databing => databing.Server() 
             // .Select("DCProductDetails", "DeliveryChallan") 
             .Insert("Addproduct", "DeliveryChallan") 
             .Update("Editproduct", "DeliveryChallan") 
             .Delete("Delete", "Home")) 
    .Columns(columns => 
    { 
     columns.Bound(c => c.Sl_no);/*EditorTemplateName("Product")*/ 
     columns.Bound(c => c.Product_cd).EditorTemplateName("product").Width(350); 
     columns.Bound(c => c.Prouduc_desc).ClientTemplate("<input type='text' id='textbox'/>");   
     columns.Bound(c => c.Prod_rt); 
columns.Command(commands => 
     { 
      commands.Edit(); 
      commands.Delete(); 
     }); 
    }) 
) 
</table> 
</fieldset> 

控制器代碼

var listproduct = (from i in db.MSM_PRODUCT select i); 
ViewBag.pro = new SelectList(listproduct, "PRODUCT_DESC", "PRODUCT_CD"); 
+0

我填充了我的下拉式投擲編輯器模板,現在我只在編輯器模板中編寫了onchange事件。事件被解僱,但我沒有在anoter專欄中獲得價值。當我在同一個編輯器模板上給出一個文本框時,它正在工作。所以請幫助我解決這個問題。 – vishali 2012-04-25 04:34:55

+0

你需要發佈你到目前爲止所做的代碼 – 2012-04-25 11:33:16

+0

我添加了我正在使用的代碼。在columns.Bound(c => c.Prouduc_desc).ClientTemplate(「」);我想在選擇下拉列表後綁定數據。 – vishali 2012-04-25 12:23:54

回答

0
@model string 
<table> 
    <tr> 
     <td> 
      @(Html.Telerik().ComboBoxFor(e => e) 
       .BindTo(ViewBag.pro as SelectList) 
       .ClientEvents(events => events.OnChange("getproductdesc"))) 
     </td> 

     <td> 

     </td> 
     <td> 
      @Html.TextBoxFor((model => model), new { id = "textbox" }) 

     </td> 
    </tr> 
</table> 

<script type="text/javascript"> 

    function getproductdesc(e) { 
     var idmodel = $(this).val(); 
     alert(idmodel); 
     $('#textbox').val($(this).val());    
    } 
</script> 
grid view code 

    @(Html.Telerik().Grid(Model) 
    .Name("gdProductDetails") 
    .ToolBar(commands => commands.Insert()) 
      .DataKeys(keys => keys.Add(c => c.Product_cd)) 
      .Pageable(paging => 
        paging.PageSize(5) 
          .Style(GridPagerStyles.NextPreviousAndNumeric) 
          .Position(GridPagerPosition.Bottom)) 
            .Sortable(sorting => sorting 
        .SortMode(GridSortMode.MultipleColumn)) 
        .DataBinding(databing => databing.Server() 
             // .Select("DCProductDetails", "DeliveryChallan") 
             .Insert("Addproduct", "DeliveryChallan") 
             .Update("Editproduct", "DeliveryChallan") 
             .Delete("Delete", "Home")) 
    .Columns(columns => 
    { 
     columns.Bound(c => c.Sl_no);/*EditorTemplateName("Product")*/ 
     columns.Bound(c => c.Product_cd).EditorTemplateName("product").Width(350); 
     columns.Bound(c => c.Prouduc_desc).EditorTemplateName("Product"); 
     columns.Bound(c => c.Prod_rt); 
columns.Command(commands => 
     { 
      commands.Edit(); 
      commands.Delete(); 
     }); 
    }) 
) 
</table> 
</fieldset> 
功能getproductdesc(E){ var idmodel = $(this).val(); alert(idmodel); $('#textbox')。val($(this).val()); }

創建一個帶有文本框和編輯器的編輯器模板id將編輯器模板賦值給欣賞列和視圖名稱,在網格視圖下面寫下jquery,並賦值如下$('#textboxid')。val($ (本).VAL());

相關問題