DGRID - 为字段中的多个字符提供数值
DGRID - give numeric value for multiple Characters in field
6.30.15 - 我怎样才能使这个问题更好,对其他人更有帮助?反馈会很有帮助。谢谢!
我对 Dgrid、Dojo、Javascript - 真的很陌生。 在 dgrid 单元格中 - 有一个值 '----------------!!!-' 或相同格式的变体。可能有 1 个感叹号或多个感叹号 - 以及多个组合。
我需要从左边开始计算每个感叹号的数量。例如-在我上面的例子中-那些是项目 2,3 和 4。我需要 2,3 和 4 显示在 dgrid 单元格网格中 - 而不是上面的字符串。
有人知道怎么做吗??我可以使用格式化程序 - 但是当我在字符串中有多个项目和不同的组合时,这会变得很棘手。任何正确方向的建议或线索都会有所帮助。!
更新代码示例:6.16.15
只要只有一个感叹号,这个方法就很好用。是多种组合。我正在学习 javascript,所以部分问题是在研究答案时不知道如何提出正确的问题。
function XXXXInfoFormatter(item){
//console.log(item,typeof(item));
var newItem;
if ( item == '--------------------' )
newItem = 'No Faults'
else if ( item == '-------------------!' )
newItem = 'XXXX 1'
else if ( item == '------------------!-' )
newItem = 'XXXX 2'
else if ( item == '-----------------!--' )
newItem = 'XXXX 3'
else if ( item == '----------------!---' )
newItem = 'XXXX 4'
else if ( item == '---------------!----' )
newItem = 'XXXX 5'
else if ( item == '--------------!-----' )
newItem = 'XXXX 6'
else if ( item == '-------------!------' )
newItem = 'XXXX 7'
else if ( item == '------------!-------' )
newItem = 'XXXX 8'
else if ( item == '-----------!--------' )
newItem = 'XXXX 9'
else if ( item == '----------!---------' )
newItem = 'XXXX 10'
else if ( item == '---------!----------' )
newItem = 'XXXX 11'
else if ( item == '--------!-----------' )
newItem = 'XXXX 12'
else if ( item == '-------!------------' )
newItem = 'XXXX 13'
else if ( item == '------!-------------' )
newItem = 'XXXX 14'
else if ( item == '-----!--------------' )
newItem = 'XXXX 15'
else if ( item == '----!---------------' )
newItem = 'XXXX 16'
else if ( item == '---!----------------' )
newItem = 'XXXX 17'
else if ( item == '--!-----------------' )
newItem = 'XXXX 18'
else if ( item == '-!------------------' )
newItem = 'Head 19'
else if ( item == '!-------------------' )
newItem = 'XXXX 20'
else if ( item == '!!!!!!!!!!!!!!!!!!!!' )
newItem = 'All Fault'
return newItem;
}
已更改。
function XXXXInfoFormatter(item) {
var length = item.length;
var i;
var Wrongs = [];
// Scan chars from right to left.
for (i = length - 1; i >= 0; --i) {
if ('!' === item[i]) {
// If its a '!', put it id from Right to the Wrong list.
Wrongs.push(length - i);
}
}
// Check if the item is no faults or all faults.
var wlength = Wrongs.length;
if (wlength === 0) {
return 'No Faults';
} else if (wlength === length) {
return 'All Faults';
}
// Form a Result str from wrong list.
var str = 'XXXX in: ';
for (i = 0; i < wlength; ++i) {
str += ' ' + Wrongs[i] ;
}
return str;
}
希望这是你需要的。
6.30.15 - 我怎样才能使这个问题更好,对其他人更有帮助?反馈会很有帮助。谢谢!
我对 Dgrid、Dojo、Javascript - 真的很陌生。 在 dgrid 单元格中 - 有一个值 '----------------!!!-' 或相同格式的变体。可能有 1 个感叹号或多个感叹号 - 以及多个组合。
我需要从左边开始计算每个感叹号的数量。例如-在我上面的例子中-那些是项目 2,3 和 4。我需要 2,3 和 4 显示在 dgrid 单元格网格中 - 而不是上面的字符串。
有人知道怎么做吗??我可以使用格式化程序 - 但是当我在字符串中有多个项目和不同的组合时,这会变得很棘手。任何正确方向的建议或线索都会有所帮助。!
更新代码示例:6.16.15
只要只有一个感叹号,这个方法就很好用。是多种组合。我正在学习 javascript,所以部分问题是在研究答案时不知道如何提出正确的问题。
function XXXXInfoFormatter(item){
//console.log(item,typeof(item));
var newItem;
if ( item == '--------------------' )
newItem = 'No Faults'
else if ( item == '-------------------!' )
newItem = 'XXXX 1'
else if ( item == '------------------!-' )
newItem = 'XXXX 2'
else if ( item == '-----------------!--' )
newItem = 'XXXX 3'
else if ( item == '----------------!---' )
newItem = 'XXXX 4'
else if ( item == '---------------!----' )
newItem = 'XXXX 5'
else if ( item == '--------------!-----' )
newItem = 'XXXX 6'
else if ( item == '-------------!------' )
newItem = 'XXXX 7'
else if ( item == '------------!-------' )
newItem = 'XXXX 8'
else if ( item == '-----------!--------' )
newItem = 'XXXX 9'
else if ( item == '----------!---------' )
newItem = 'XXXX 10'
else if ( item == '---------!----------' )
newItem = 'XXXX 11'
else if ( item == '--------!-----------' )
newItem = 'XXXX 12'
else if ( item == '-------!------------' )
newItem = 'XXXX 13'
else if ( item == '------!-------------' )
newItem = 'XXXX 14'
else if ( item == '-----!--------------' )
newItem = 'XXXX 15'
else if ( item == '----!---------------' )
newItem = 'XXXX 16'
else if ( item == '---!----------------' )
newItem = 'XXXX 17'
else if ( item == '--!-----------------' )
newItem = 'XXXX 18'
else if ( item == '-!------------------' )
newItem = 'Head 19'
else if ( item == '!-------------------' )
newItem = 'XXXX 20'
else if ( item == '!!!!!!!!!!!!!!!!!!!!' )
newItem = 'All Fault'
return newItem;
}
已更改。
function XXXXInfoFormatter(item) {
var length = item.length;
var i;
var Wrongs = [];
// Scan chars from right to left.
for (i = length - 1; i >= 0; --i) {
if ('!' === item[i]) {
// If its a '!', put it id from Right to the Wrong list.
Wrongs.push(length - i);
}
}
// Check if the item is no faults or all faults.
var wlength = Wrongs.length;
if (wlength === 0) {
return 'No Faults';
} else if (wlength === length) {
return 'All Faults';
}
// Form a Result str from wrong list.
var str = 'XXXX in: ';
for (i = 0; i < wlength; ++i) {
str += ' ' + Wrongs[i] ;
}
return str;
}
希望这是你需要的。