0

プロジェクトでテレリック コントロールを使用しています。サンプル プロジェクト mvc3+razor(cshtml) を使用してテレリック グリッド ビューにテレリック ドロップダウンを埋め込む方法とコントローラー コードは c# です。

4

1 に答える 1

0

コントローラーから、TempData または ViewBag を使用してデータをビューに渡すだけです。

List<AdjustmentReasonCodes> salesAuditReasons = new List<AdjustmentReasonCodes>();
salesAuditReasons = salesDal.SalesAuditResonCodes();

TempData["SalesAuditReason"] = salesAuditReasons;

TempData["CStatus"] = salesDal.ReadCustomerListWithRecoveryStatus(objLoginHelper.LogInForUnitCode, Convert.ToByte(ctype), Helper.DateTo(Helper.YearMonthPrevious(2)));

ビューページへのリストを使用して、TempDataを保持するだけです。

@{
    List<AdjustmentReasonCodes> salesAuditReasons = new List<AdjustmentReasonCodes>();
    salesAuditReasons = (List<AdjustmentReasonCodes>)TempData["SalesAuditReason"];
}

テンプレートを使用すると、非常に簡単にコンボボックスを追加できます。

<div class="DataGridXScroll">
  @{
     List<GetCustomerListWithRecoveryStatus> listCustomerStatus = new List<GetCustomerListWithRecoveryStatus>();
     listCustomerStatus = (List<GetCustomerListWithRecoveryStatus>)TempData["CStatus"];

                    if (listCustomerStatus != null)
                    {                    

                    @(Html.Telerik().Grid(listCustomerStatus)
            .Name("grvSalesAdjustment")
            .DataKeys(keys => keys.Add(k => k.CustCode))
            .Columns(column =>
            {
                column.Bound(a => a.CustCode).Width(100).HtmlAttributes(new { @class = "GridColumnLeftAlign" }).Title("Customer ID");

                column.Template(@<input type="text" class="GridTextBoxRightAlign" style="width:62px;" id="@("salesAudit" + @item.CustCode.Replace(" ", "").Replace("-", "").Trim())" value="@(@item.AuditAdjustmentWithoutDPInCurrentMonth.ToString("0"))" />).Title("Audit Adjustment").Width(80);

                column.Template(@<select id="@("ddlSalesAuditReason" + @item.CustCode.Replace(" ", "").Replace("-", "").Trim())" class="DropDown">
                    <option value="0">--Select--</option>
                    @foreach (AdjustmentReasonCodes adrc in salesAuditReasons)
                    {
                        if (item.RefReasonForAuditAdjustment == adrc.ReasonCode)
                        { 
                        <option value="@(adrc.ReasonCode)" selected="selected">@adrc.ReasonDescription</option> 
                        }
                        else
                        {                        
                        <option value="@(adrc.ReasonCode)">@adrc.ReasonDescription</option>
                        }
                    }
                </select>).Title("Audit Reason").Width(135);              


            }).Selectable()
            .Pageable(page => page.PageSize(100))
            .Scrollable(scroll => scroll.Height(300))


                     )
                    }   
                }
</div>
于 2012-07-07T08:05:22.313 に答える