Да, вы можете.
Я думаю, вы спрашиваете, как, поэтому я отвечу на это.
То, что вы ищете, это Linked Servers. Вы можете получить их в SSMS из следующего местоположения в дереве Object Explorer:
Server Objects-->Linked Servers
или вы можете использовать sp_addlinkedserver .
Вам нужно только настроить его. После этого вы можете вызвать таблицу на другом сервере следующим образом:
select
*
from
LocalTable,
[OtherServerName].[OtherDB].[dbo].[OtherTable]
Обратите внимание, что владелец не всегда dbo
, поэтому обязательно замените его любой используемой схемой .
Легко исправить, используя pipe
<tr *ngFor="let data of userdata | slice:0:(userdata.length-2)">
...
...
</tr>
Объяснение
blockquote>Последний элемент
index = userdata.length - 1
Итак, для него предыдущий
index = userdata.length - 2
Я бы сказал, лучше всего в контроллере исключить этот последний элемент. Я бы счел более целесообразным оставить эту логику в контроллере, а не в представлении.
Я не знаю, что такое угловой, но в целом вы можете использовать вычисленное свойство. Быстрый поиск здесь, и я нашел этот ответ на примере того, как это сделать.
Надеюсь, что это поможет.
Вы можете добавить *ngIf
и визуализировать элементы, которые не являются последними.
<tr *ngFor="let data of userdata; last as l">
<ng-container *ngIf="!l">
.....
</ng-container>
</tr>
Довольно хороший подход состоял бы в том, чтобы отрезать кусочек или кубик самой коллекции viewModel и сохранить ngFor
на эту коллекцию, чтобы отобразить ее в пользовательском интерфейсе.
Попробуйте это
<tr *ngFor="let data of userdata; let last = last;">
<ng-container *ngIf="!last">
<td>{{data.Id}}</td>
<td>{{data.Name}}</td>
<td>{{data.Email}}</td>
<td>{{data.Address}}</td>
<td>{{data.Role}}</td>
<td>{{data.Gender}}</td>
</ng-container>
</tr>
Вот рабочий stackblitz