문자열이 VM 특성에서 비어 있으면 gridview 자체에 올바르게 표시됩니다. 그러나 선택한 레코드에서 데이터를 가져 오려면 내용은
문자열입니다.viewmodel의 빈 문자열은 gridview의 선택된 레코드에 문자열 " "을 부여합니다.
열을 표시할지 여부는 동작을 변경하지 않습니다. 빈 문자열을 처리하기 위해 포함해야 할 특별한 것이 있습니까?
GRIDVIEW :
@{
Html.Syncfusion()
.Grid<InternalCompany>("internalCompaniesGrid")
.ActionMode(ActionMode.Server)
.EnableEnsureSelection()
.Datasource(Model.InternalCompanies)
.SelectionMode(SelectionMode.Single)
.RowsSelectionMode(RowsSelectionMode.Normal)
.AutoFormat(Skins.Office2007Silver)
.AllowKeyboardNavigation(true)
.AllowSelection(true)
.EnableHighlighting(true)
.ClientSideEvents(events => events.OnLoad("onLoadGrid"))
.ClientSideEvents(events => events.OnRecordSelectionEvent("clientSideOnInternalCompanyRecordSelected"))
.Column(column =>
{
column.Add(c => c.Base64Timestamp).Visible(false);
column.Add(c => c.ID).Width(40);
column.Add(c => c.Name).HeaderText("Naam").Width(270).TextAlign(TextAlignment.Left);
column.Add(c => c.Street).Visible(false);
column.Add(c => c.HouseNumber).Visible(false);
column.Add(c => c.Bus);
column.Add(c => c.Zip).Visible(false);
column.Add(c => c.City).Visible(false);
})
.Editing(edit =>
{
edit.AllowEdit(false);
edit.AllowNew(false);
edit.AllowDelete(false);
edit.EditMode(GridEditMode.Normal);
edit.SaveOnEnter(true);
edit.PrimaryKey(key => key.Add(p => p.ID));
})
.ToolBar(tools => tools.Add(GridToolBarItems.Custom))
.Width(660)
.Render();
}
관련 jQuery 코드 :
function clientSideOnInternalCompanyRecordSelected(sender, args) {
$('#Bus').attr("value", getValue("Bus", null, args, function() { return args.record.Bus; }));
}
코드 return args.record.Bus;
의 조각 문자열
을 제공합니다.
또한 개발자 도구를 사용하여 record
값을 검사 할 때 빈 문자열이
으로 변경되었음을 나타냅니다. IE에서 Chrome을 사용합니다.
UPDATE는 몇 가지 추가 조사 후, 우리는 빈 문자열 또는 1 하나 개의 공간이 위의 문제를 제공 사실을 발견했다. 속성 내용이 2 개의 공백 인 경우 args.record.Bus
의 내용도 2 공백입니다. 그러나 왜 이렇게 행동하는지 아직 모르겠다.