2016-12-13 2 views
0

Я хочу фильтровать данные на основе количества строк и столбцов, предоставленных пользователем.как нажимать ключ и значение в массиве с помощью Angular

Я получаю данные на контроллер после прочтения этого первенствует файл:

enter image description here

это значение заголовков столбцов, которые я получаю после того, как пользователя прошло 5 в качестве входных столбцов: enter image description here

Это данные строки, которые я получаю после того, как пользователь дал 4 строки в качестве ввода для отображения, здесь есть данные из 4 строк: enter image description here

Внутри каждой строке есть ключевое значение пары, содержащее имя столбца и значение ячейки:

enter image description here

Я хочу, чтобы фильтровать эту строку данных на основе имен заголовков, которые приходят через колонки, так что строка имеет только значения до определения столбца. В настоящее время я получаю целые значения строк.

Я написал такую ​​логику, но это не работает.

var rowData=[]; 
for(var i=0;i<headerNames.length;i++){//headerNames contains column names 
    for(var j=0;j<data.length;j++){//data contains the rows data 
     for(var keyName in data[j]) 
     if(angular.equals(keyName,headerNames[i])){ 
      rowData.push({'keyName':data[j][keyName]})//I want only the key,values which matches the column names. I want to set the keyName value as array key but I am not getting its value instead it is coming like keyName:18 
     } 
     } 
    } 
} 

Добавление плункера для кода. http://plnkr.co/edit/28Z44xDBug7nFCQnKZJL?p=preview

Я могу фильтровать данные в пользовательском интерфейсе и получать только данные строки и столбца в соответствии с введенным пользователем. Но мне нужны одни и те же данные на контроллере, поэтому я могу сохранить его в MongoDb. Я хочу фильтровать данные строки в соответствии с вводом столбца. Таким образом, я получаю только данные строк до тех пор, пока не будет определен столбец.

Пожалуйста, предложите, как я могу отфильтровать данные и объединить значения строк, чтобы в строке я мог иметь значение до заданных чисел столбцов. Например, если я пользователь ввел 4 строки и 5 столбцов, то в моей строке Data i может иметь только значения до 5-го столбца и все остальные значения, которые я могу удалить из массива. в моем коде в настоящее время я не могу получить значение ключа, которое будет установлено как массив.

Пожалуйста, помогите решить эту проблему.

+2

Пожалуйста, укажите [mcve] в самом вопросе, а не на изображениях. Это должно быть так, что мы можем сами воспроизвести проблему. Кроме того, здесь действительно мало углового кода; вы можете попробовать искать, не включая угловые в своих поисковых запросах. –

ответ

0

Похоже, вы больше всего на пути. Вам просто нужно присваивать rowData значение $ scope.rowData, чтобы угловое число могло дойти до него, и у Angular document show {{rowdata}} (показывает $ scope.rowData).

Вы, вероятно, нужно расположить его в столбцы, хотя, так что вы могли бы сделать нг-повтора на ROWDATA, с переменной = строки, и в TR TD теги показать row.1

например что-то вроде ..

<tr ng-repeat="row in rowData"> 
<td>{{row.1}}</td> 
<td>{{row.2}}</td> 
</tr> 
+0

Нет, на самом деле мне нужны эти значения на самом контроллере, так как мне нужно передать данные в mongodb для сохранения. Таким образом, в основном мне нужны данные, которые имеют только определенные пользователем строки и значения столбцов. например, если пользователь ввел 4 строки и 5 столбцов, поэтому мне нужны 5 столбцов и данных строк до 5-го столбца. –