2017-08-02 27 views
0

Plunker.Wie Zahlen Zeile für Zeile

ich die oben Plunker erhöhen, mit Alphabets.Like die rowID steigt die unter

Es wird + und ++ und dass Plunker umgesetzt haben sein - dass Tasten Komponente. Wenn ich + drücke, beginnt The Rowid mit dem Startalphabet (A). Wenn ich drücke ++ Dann Die Eltern Rowid + beginnend mit Start Alphabet bedeutet (AA). Und noch einmal, wenn ich ++ drücke dann Eltern rowId + beginnend mit Start Alphabet bedeutet(). So wird es zunehmen.

Bitte besuchen Sie die Plunker here.

Aber ich will, dass Funktionalität mit Zahlen bedeutet

Für Einzel erreichen und es sollte 1 zeigen, Für ++ es diese 111 wie ich erreichen müssen zeigen sollte.

Können Sie mir bitte helfen, diese Funktionalität zu tun.

var newRow = { 
    "rowId": "A" 
    } 
    $scope.componentList = []; 
    $scope.componentList.push(angular.copy(newRow)); 

    $scope.addParentRow = function(rowId) { 
    var newGridRow = angular.copy(newRow); 
    var lastChar = getListOfSameLevel(rowId, true); //isParentRow 
    var parentId = rowId.length > 1 ? rowId.slice(0, rowId.length - 1) : ""; 
    newGridRow.rowId = parentId + getNextChar(lastChar); 
    $scope.componentList.push(newGridRow); 
    } 

    $scope.addChildRow = function(rowId) { 
    var newGridRow = angular.copy(newRow); 
    var lastChar = getListOfSameLevel(rowId, false); 
    if (rowId.length === lastChar.length) { 
     newGridRow.rowId = rowId + "A"; 
    } else { 
     var parentId = lastChar.length > 1 ? lastChar.slice(0, lastChar.length - 1) : ""; 
     newGridRow.rowId = parentId + getNextChar(getLastChar(lastChar)); 
    } 
    $scope.componentList.push(newGridRow); 
    }; 

    var getNextChar = function(inputChar) { 
    return String.fromCharCode(inputChar.charCodeAt(0) + 1); 
    }; 

    var getLastChar = function(fullStr) { 
    return fullStr.slice(-1); 
    }; 
+1

Ich bin mir nicht sicher, ob ich die Frage verstehe. Was speziell sollte in was geändert werden und was hast du versucht? – jsalonen

+0

In diesem Plotter Alphabete steigen, aber müssen Zahlen erhöhen. Schließlich müssen Alphabete durch Zahlen ersetzt werden – Murali

+0

Sorry, aber ich verstehe immer noch nicht. Ich sehe keine Zahlen im Plunker und ich verstehe nicht, wo sie sein sollten. Hast du schon etwas selbst ausprobiert? Wenn ja, wäre es hilfreich, auch diesen Code hinzuzufügen. – jsalonen

Antwort

2

Sie müssen den Wert von newRow.rowIdA-1 ändern und die Einleitung der nächsten Ziffern A-1 in der addChildRow Funktion wie folgt zu ändern:

if (rowId.length === lastChar.length) { 
    newGridRow.rowId = rowId + "1"; 
} 

Here ist Ihr Plummer mit Zahlen

+0

Aber hier gibt es spezielle Buchstaben nach 9. Aber ich möchte weiter mit 10 – Murali

+1

Wenn nächste Nummer nach 109 ist 1010, was ist dann der Unterschied zwischen '+' und '++' auf 109? – jsalonen

+0

In diesem Szenario ist die rowId 109, wenn ich '' 'Taste drücken, sollte die Zahl 110 sein. Wenn ich' ++ 'dann drücken, ist die rowId 1091 – Murali