Панель инструментов подкачки Extjs в сетке не работаетC#

Место общения программистов C#
Ответить
Anonymous
 Панель инструментов подкачки Extjs в сетке не работает

Сообщение Anonymous »

Я искал эту проблему повсюду... и обнаружил, что у многих людей есть одна и та же проблема, но ни у кого нет однозначного решения...
По сути, у меня есть сетка на extjs... она получает данные из sqldb. Он отлично загружается с использованием json. "Но"... при попытке реализовать разбиение по страницам здесь получается путаница...
  • размер страницы установлен на 5... что означает, что на первой странице должно отображаться только 5 записей, но в моей сетке отображаются все записи
  • Несмотря на то, что кнопка «Далее» существует, она есть технически не работает, потому что вся запись уже есть на первой странице.
  • Я установил page.loadPage(2)... и появляется сообщение "Отображение второй страницы". Страница», но на самом деле отображаются все записи.
  • Номер страницы на странице «Страница _ из 6» всегда пуст. см. изображение ниже...

    Изображение
Ниже мой магазин...

Код: Выделить всё

       var store = Ext.create('Ext.data.Store', {
storeId: 'myData',
pageSize: 5,
autoLoad: true,
method: "POST",
remoteSort: true,
fields: [
{ name: 'Q1', type: 'int' },
{ name: 'Q2', type: 'int' },
{ name: 'Q3', type: 'int' },
{ name: 'Q4', type: 'int' },
{ name: 'Q5', type: 'int' },
{ name: 'Improvements', type: 'string' },
{ name: 'Comments', type: 'string' }
],

sorters: [
{
property: 'Q1',
direct: 'ASC'
}
],

proxy: {
type: 'ajax',
url: 'GridView/writeRecord',
reader: {
type: 'json',
totalProperty: "count",
root: "myTable"
}
},
autoLoad: { params: { start: 0, limit: 5} }

});

this.grid = Ext.create('Ext.grid.Panel', {
title: ' ',
trackMouseOver: true,
disableSelection: true,
autoHeight: true,
store: store,
loadMask: true,
height: 500,
width: 800,
renderTo: Ext.getBody(),
columns: [

{ header: 'Q1',
sortable: true, dataIndex: 'Q1'
},
{ header: 'Q2',
sortable: true, dataIndex: 'Q2'
},
{ header: 'Q3',
sortable: true, dataIndex: 'Q3'
},
{ header: 'Q4',
sortable: true, dataIndex: 'Q4'
},
{ header: 'Improvements', flex: 1,
sortable: true, dataIndex: 'Improvements'
},
{ header: 'Comments', flex: 1,
sortable: true, dataIndex: 'Comments'
}
],
bbar: Ext.create('Ext.PagingToolbar', {
store: store,
displayInfo: true,
preprendButtons: true,
displayMsg: 'Displaying Surveys {0} - {1} of {2}',
emptyMsg: "No Surveys to display"

})
});
а это мой JSON... на самом деле в нем 30 записей, но я сократил их...

Код: Выделить всё

  {
"count": 30,
"myTable": [
{
"Q1": "1",
"Q2": "1",
"Q3": "1",
"Q4": "1",
"Improvements": "",
"Comments": "1"
},
{
"Q1": "3",
"Q2": "2",
"Q3": "2",
"Q4": "2",
"Improvements": "This is A very long comment.  What do you think?",
"Comments": "Agreed"
},
{
"Q1": "4",
"Q2": "2",
"Q3": "4",
"Q4": "3",
"Improvements": "Hello2",
"Comments": "Hello2"
},
{
"Q1": "3",
"Q2": "2",
"Q3": "2",
"Q4": "1",
"Improvements": "Hello4",
"Comments": "Hello4"
}
]
}

Кроме того, если это поможет, я могу получить Json именно так.

Код: Выделить всё

        string sqlquery = "SELECT Q1, Q2, Q3, Q4, Improvements, Comments FROM ITable";
conn.Open();
SqlDataAdapter cmd = new SqlDataAdapter(sqlquery, conn);
SqlCommand comd = new SqlCommand(sqlquery, conn);
DataSet myData = new DataSet();
cmd.Fill(myData, "myTable");

comd.CommandText = "SELECT COUNT(*) FROM ITable";
Int32 count = (Int32)comd.ExecuteScalar();

comd.ExecuteNonQuery();
conn.Close();

var results = (new

{

TotalNumber = count,

myTable = myData

});

return JsonConvert.SerializeObject(new { count=count, myTable = myData.Tables[0] }, Formatting.Indented,
new JsonSerializerSettings
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
});
Я знаю, что мой Json прав... и он читает 30 записей, потому что написано "Отображение _ из 30"... Я просто понятия не имею, что делаю неправильно... Это не может быть проблема с браузером... почему все вылетает на одной странице? кто-нибудь?

Подробнее здесь: https://stackoverflow.com/questions/132 ... s-not-work
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»