2015-05-05 4 views
1

Есть ли способ в источнике данных, который вы можете указать в поле Auto ID в пользовательском интерфейсе Kendo?Kendo UI Datasource Auto Increment ID

I.e. поэтому, когда мы вставляем строки программным образом, идентификатор автоматически генерируется. Данные не поступают из удаленного источника. Первоначально данные пустые, а строки создаются пользователями и хранятся локально для последующей загрузки в удаленное местоположение. Поэтому нам нужен источник данных для автоматического создания идентификатора.

Или мы должны сделать это программно самостоятельно, создав локальный порядковый номер хранилища и увеличив вручную?

+0

Вы хотите добавить серийный номер в вашем kendoGrid? –

+0

Боюсь, что кендо имеет только «uid», как вы упомянули. Я думаю, что секвенциальный идентификатор, который вам нужно будет реализовать самостоятельно. – DontVoteMeDown

ответ

1

Невозможно автоматически генерировать последовательность с использованием API интерфейса Kendo. Вам нужно будет сделать это с помощью JavaScript.

Что-то вроде этого:

function onEdit(e) 
{ 
    if (e.model.isNew()) 
    { 
     //set field 
     var id = generateId(); 
     e.model.set("Id", id); 
    } 
} 

function generateID() { 
    AutoID = 1; // Get the latest sequential ID for this sector. 
    if (localStorage.getItem('ID') !== "") { 
     AutoID = parseInt(localStorage.getItem('ID')) + 1; // Save the new ID 
     localStorage.setItem('ID', AutoID); 
    } 
    return AutoID; 
} 
+0

Я дам вам это. Вот моя функция GenerateID, если она помогает другим. – Shane

+0

function generateID() { AutoID = 1; // Получите последний последовательный идентификатор для этого сектора. if (localStorage.getItem ('ID')! == "") AutoID = parseInt (localStorage.getItem ('ID')) + 1; // Сохраните новый ID localStorage.setItem ('ID', AutoID); return AutoID; } – Shane

+0

@Shane можно ли использовать этот идентификатор в качестве первичного ключа схемы источника данных? что-то вроде 'schema: {model: {id: generateId, fields: {}}}'? –