import java.util.Date;
import java.util.Random;
public class RandomGenerator {
private static Random random = new Random((new Date()).getTime());
public static String generateRandomString(int length) {
char[] values = {'a','b','c','d','e','f','g','h','i','j',
'k','l','m','n','o','p','q','r','s','t',
'u','v','w','x','y','z','0','1','2','3',
'4','5','6','7','8','9'};
String out = "";
for (int i=0;i<length;i++) {
int idx=random.nextInt(values.length);
out += values[idx];
}
return out;
}
}
Ваша основная ошибка при использовании
onclick=\"jQuery('#evGrid').saveRow('" + cl + "', '', '', '', reload());\"
вместо
onclick=\"jQuery('#evGrid').saveRow('" + cl + "', '', '', '', reload);\"
reload
- это функция обратного вызова, которая будет вызываться jqGrid. Если вы используете reload()
, тогда ваш код вызывает reload
с пустым параметром, прежде чем jqGrid сделает это (jqGrid не получит ссылку на функцию вообще и не получит undefined
, возвращенный из reload()
).
setRowData
является самым медленным способом заполнения сетки. Вместо этого лучше использовать пользовательский форматировщик или предопределенные форматы, такие какformatter: "actions"
. С другой стороны, когда-то некогда переписывать старый код, и важно просто заставить его работать. – Oleg 18 July 2018 в 15:52