Първият метод се използва за получаване на записа отбазата данни и попълнете данните в мрежата. Вторият метод се използва за преглед на потребителските данни. Когато потребителят кликне върху втория метод, той ще върне стойността и ще покаже на потребителя подробностите. Но опресняване на страницата в потребителски детайли това време
var local = global.Exp.Data.getLocalDataSet("UserInfoTenant/ListUsers")
няма стойността.
Съобщението за грешка: Error: Unable to get property "FirstName" of undefined or null reference.
function loadUserInfo(extension, renderArea)
{
global.UserInfoTenantExtension.isUserInfoTabNavigating = null;
global.UserInfoTenantExtension.UserInfotabRenderArea = renderArea;
global.Shell.UI.Spinner.show();
**global.Exp.Data.getData**({
url: ListUsers, //controller "ActionName" name
dataSetName: ListUsers,
forceCacheRefresh: true
}).done(function (url, dataSet) {
var grid,
columns = [
{
name: "Id", field: "Id", filterable: true, sortable: true, type: "navigation", navigationField: "Id"
},
{ name: "First Name", field: "FirstName" },
{ name: "Title", field: "Title" },
{ name: "Comment", field: "Comment" },
{ name: "Is Active", field: "IsDeleted" },
];
grid = renderArea.find(".userInfoContainer") //template html class name
.wazObservableGrid("destroy")
.wazObservableGrid({
lastSelectedRow: null,
data: dataSet.data,
keyField: "Id",
columns: columns,
gridOptions: {
rowSelect: onRowSelected,
pagerOptions: {
pageSize: 10
},
}
});
global.Shell.UI.Spinner.hide();
});
showCommands();}
function loadtab(renderArea, renderData) {
if (global.UserInfoTenantExtension.UserInfoTab.currentContext) {
**var local = global.Exp.Data.getLocalDataSet("UserInfoTenant/ListUsers")**
var filtered = $(local.data).filter(function () {
return this.FirstName.replace(" ", "_") == global.UserInfoTenantExtension.UserInfoTab.currentContext.current.itemName.replace(" ", "_");
});
if (filtered.length > 0)
global.UserInfoTenantExtension.selectedDoctor = viewModel.selectedUser = filtered[0];
}
viewModel.selectedUser = global.UserInfoTenantExtension.selectedDoctor;
global.UserInfoTenantExtension.templates.DoctorDetails.link($(renderArea), viewModel, null);
}
Отговори:
0 за отговор № 1При функция loadUserInfo, предоставете Id на ресурса на следния адрес:
global.Exp.Data.getData({
url: ListUsers, //controller "ActionName" name
dataSetName: ListUsers,
ajaxData: {
subscriptionIds: subscriptionRegisteredToService
},
forceCacheRefresh: true
})
след като направите данните на страницата. следващото обаждане на global.Exp.Data.getLocalDataSet("UserInfoTenant/ListUsers")
ще донесе данните.
ако няма данни при първото обаждане, опитайте AjaxPost да извлича данни.
Shell.Net.ajaxPost({
dataSetName: url,
url: url,
data: data
});