1

私はプロジェクトでtelerikコントロールを使用していますが、挿入、編集で複数の列のテキストボックスを埋めることができるtelerikグリッドビューで選択変更イベントを取得する方法を任意のボディが指示します。それはmvc3+razor(cshtml)にあります。

エディターテンプレートコード

@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");
4

1 に答える 1

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>
function getproductdesc(e) { var idmodel = $(this).val(); アラート (idmodel); $('#textbox').val($(this).val()); }

テキスト ボックスと id を含むエディター テンプレートを作成し、エディター テンプレートをビュー名で appreciative 列に割り当て、グリッド ビューの下に jquery を記述し、以下のように値を割り当てます $('#textboxid').val($(this).val( ));

于 2012-04-30T10:52:07.233 に答える