#datagrid #dojo
#datagrid #dojo
Вопрос:
В моей datagrid не отображается сообщение о загрузке типа «загрузка …», Кто-нибудь знает, как это подтвердить?
код моей datagrid приведен ниже. Я установил загрузочное сообщение как «ААААААААААААААААААААААААААААА», но оно не отображается при загрузке страницы.
<div>
<table dojoType="dojox.grid.DataGrid" query="{sort_value:'*'}" loadingMessage="AAAAAAAAAAAAAAAAAAAAAAAAAAA" id="myDataGrid" structure="myDataGridStructure" style="width:100%; height:450px;" noDataMessage="No agent information. Please create.">
<thead>
<tr>
<th field="sort_value">Agent ID</th>
<th field="value" class="hidden">Agent ID</th>
<th field="name">Agent Name</th>
<th field="descr">Description</th>
</tr>
</thead>
</table>
</div>
Я установил хранилище с помощью метода, как показано ниже.
Я использовал метод setStore для передачи данных в сетку.
function loadGrid(){
selectItmeMsg = "";
dojo.byId("agentFilter_selected").value="";
var xhrArgs = {
url: "agents.json",
handleAs: "json",
load: function(data){
if(data.error_message == null){
var bStore = new dojo.data.ItemFileReadStore(
{clearOnClose:true,
data: {items: data.agents}}
);
agentStore_selected = bStore;
var x = dijit.byId("myDataGrid");
bStore.fetch( {
query :{},
onComplete : function(items, request){
if (x.selection != null){
x.selection.clear();
}
x.setStore(bStore);
if(items.length == 0){
dijit.byId("editBtn").setAttribute('disabled', true);
dijit.byId("delBtn").setAttribute('disabled', true);
dijit.byId("agentFilter_selected").setAttribute('disabled', true);
}else{
dijit.byId("editBtn").setAttribute('disabled', false);
dijit.byId("delBtn").setAttribute('disabled', false);
dijit.byId("agentFilter_selected").setAttribute('disabled', false);
}
}
})
dojo.byId("errorDis").innerHTML = "";
dojo.byId("agentFilter_selected").value = "";
}else{
dojo.byId("errorDis").innerHTML = data.error_message;
dijit.byId("editBtn").setAttribute('disabled', true);
dijit.byId("delBtn").setAttribute('disabled', true);
dijit.byId("newBtn").setAttribute('disabled', true);
dijit.byId("agentFilter_selected").setAttribute('disabled', true);
}
if(data.jdbcTemplateNull!=null){
dojo.byId("errorDis").innerHTML = "Primary CMS is down.";
dijit.byId("editBtn").setAttribute('disabled', true);
dijit.byId("delBtn").setAttribute('disabled', true);
dijit.byId("newBtn").setAttribute('disabled', true);
}
}
}
dojo.xhrGet(xhrArgs);
}
Комментарии:
1. Сколько времени требуется для загрузки ваших данных? Может быть, он загружается слишком быстро, чтобы сообщение отображалось? Попробуйте установить setTimeout в вашей функции загрузки, чтобы она работала дольше, если это так… просто для тестирования, конечно…
2. Что оно отображает вместо этого? Я понимаю, что сообщение о загрузке и сообщение об ошибке поддерживают i18n, поэтому они не могут быть простым переопределением свойства.
3. У меня есть много данных для отображения, поэтому я думаю, что есть достаточно времени, чтобы отобразить сообщение о загрузке.