2015-01-15 5 views
1

안녕하세요, 저는 검도 UI 그리드 ASP.Net MVC 면도기에 처음입니다, 첫 번째 열이있는 3 열 그리드를 만들려고 노력하고 있는데 편집 할 수없고 다른 두 가지를 편집 할 수 있습니다. 숫자 텍스트 입력, 이것은 내가 지금 나와 함께 가지고있는 코드이며, 그 밖에 추가 할 항목은 무엇입니까? .Editable (편집 => editable.Mode (GridEditMode.InLine)) 도움을하지만 어떻게 같은 읽은 첫 번째 열을 만들기 위해에만편집 가능한 그리드 검도 UI Asp.Net MVC

@Html.Kendo().Grid(Model.CpfPayableYearlyDetail.CpfPayableMonthlyDetails).Name("CpfPayableMonthlyDetails").Columns(columns => 
     { 
      columns.Bound(p => p.Month).Title("Month"); 
      columns.Bound(p => p.OrdinaryWagePaid).Title("Ordinary Wages (OW)"); 
      columns.Bound(p => p.AdditionalWagePaid).Title("Additional Wages (AW)"); 
     }) 

나는 종류의이

@Html.Kendo().Grid(Model.CpfPayableYearlyDetail.CpfPayableMonthlyDetails).Name("CpfPayableMonthlyDetails").Columns(columns => 
     { 
      columns.Bound(p => p.Month).Title("Month"); 
      columns.Bound(p => p.OrdinaryWagePaid).Title("Ordinary Wages (OW)").ClientTemplate(Html.Kendo().NumericTextBox().Name("OW").ToClientTemplate().ToHtmlString()); 
      columns.Bound(p => p.AdditionalWagePaid).Title("Additional Wages (AW)").ClientTemplate(Html.Kendo().NumericTextBox().Name("AW").ToClientTemplate().ToHtmlString()); 
     }).Editable(editable => editable.Mode(GridEditMode.InCell)).DataSource(dataSource => dataSource 
      .Ajax().Model(model => model.Id(m => m.Month))) 
을 달성하는 방법을 알아 냈어

하지만 데이터 소스의 값이 editbale 컬럼에 바인딩되지 않아요 문제/세포

+0

당신은 새로운 그것은 것입니다 모든 기능을보다 강력하게 제어 할 수 있습니다. 면도날을 만드는 데 시간을 낭비하는 걸보고 싶지 않아요. 당신이 작성하는 면도날을 검도로 생각하면 검도가 자바 스크립트를 생성하고 페이지에 삽입 할 수 있습니다. –

+0

캔트가 당신에게 더 동의합니다! 면도기의 사용은 내가 현재 가지고있는 제약의 무엇인가이다 – Abhilash

+0

Constraint? 설명 ... 똑같은 면도날은 JS에 즉시 재 작성 될 수 있습니다. –

답변

1

이 몇 가지 조사 후이는

@(Html.Kendo().Grid(Model.CpfPayableMonthlyDetails) 
    .Name("CpfPayableMonthlyDetails") 
    .Editable(editable => editable.Mode(GridEditMode.InCell)) 
    .Columns(columns => 
    { 
     columns.Bound(p => p.Month).ClientTemplate("#= Month #" + 
      "<input type='hidden' name='CpfPayableMonthlyDetails[#= index(data)#].Month' value='#= Month #' />" 
     ); 
     columns.Bound(p => p.OrdinaryWagePaid).ClientTemplate("#= OrdinaryWagePaid #" + 
      "<input type='hidden' name='CpfPayableMonthlyDetails[#= index(data)#].OrdinaryWagePaid' value='#= OrdinaryWagePaid #' />" 
     ).ClientFooterTemplate("#=sum#"); 
     columns.Bound(p => p.AdditionalWagePaid).ClientTemplate("#= AdditionalWagePaid #" + 
      "<input type='hidden' name='CpfPayableMonthlyDetails[#= index(data)#].AdditionalWagePaid' value='#= AdditionalWagePaid #' />" 
     ).ClientFooterTemplate("#=sum#"); 
    }) 
.DataSource(dataSource => dataSource.Ajax() 
    .Model(m => 
    { 
     m.Id(p => p.Month); 
     m.Field(p => p.Month).Editable(false); 
     m.Field(p => p.OrdinaryWagePaid).Editable(true); 
     m.Field(p => p.AdditionalWagePaid).Editable(true); 
    }) 
    .Batch(true) 
     .ServerOperation(false).Aggregates(aggregates => 
          { 
           aggregates.Add(p => p.OrdinaryWagePaid).Sum(); 
           aggregates.Add(p => p.AdditionalWagePaid).Sum(); 
          }) 
)) 
근무하는 방법이다

와의 js의 조금이라도 ... 그래서 당신에게 더 적은 두통을 줄 것입니다 ... 검도의 자바 스크립트 SDK로 전환 ... 내가 당신에게 조언을 줄 수 있도록

function index(dataItem) { 
    var data = $("#CpfPayableMonthlyDetails").data("kendoGrid").dataSource.data(); 
    return data.indexOf(dataItem); 
}