我开始创建我的第一个Angular 4应用程序。我正在测试表单验证。我创建了一个模板驱动的表单,并添加了一些验证器。
现在,我想显示一个字段的验证错误。这是我的实际代码:
<input id="name" name="name" class="form-control" required minlength="4" [(ngModel)]="name" #name="ngModel">
<div *ngIf="name.invalid && (name.dirty || name.touched)" class="alert alert-danger">
<div *ngIf="name.errors.required">
Name is required.
</div>
<div *ngIf="name.errors.minlength">
Name must be at least 4 characters long.
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
恐怕要为表单中的每个输入都写上它!是否可以编写类似的内容(当然,我尝试了这段代码,但是没有用):
<div *ngIf="name.invalid && (name.dirty || name.touched)" class="alert alert-danger">
<p *ngFor="let error on name.errors">{{error}}</p>
</div>
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助:)
我想学习如何向控制器添加一些SQL查询,但我不知道如何正确地执行它.
我的控制器是
public ActionResult Index()
{
return View(db.Student.ToList());
}
Run Code Online (Sandbox Code Playgroud)
默认情况下,页面会为我提供下一个数据.
ID, NAME, STATUS
1 Bella, 5
2 Bella, 5
3 Bella, 7
Run Code Online (Sandbox Code Playgroud)
我想将下一个SQL查询添加到控制器,它将为我提供我希望它在页面上显示的数据.
(select distinct id,name,max(status) from students group by id,name)
ID, NAME, STATUS
3 Bella, 7
Run Code Online (Sandbox Code Playgroud) 我正在使用jdbcin来连接到 SQL Server pyspark。为了将表转换为数据帧,我使用以下查询。
query="SELECT * FROM tablename"
df=sqlContext.read.format("jdbc").options(url="jdbc:sqlserver://{servername};database={dbname};user={uid};password={pwd}", dbtable=query).load()
Run Code Online (Sandbox Code Playgroud)
现在我需要连接到存储过程并使用相同的 JDBC。我在 pyodbc 中找到了一些答案,但由于我SQL Server和 pyspark 配置中的一些问题,我只希望使用 JDBC。
Stored procedure = exec name "a","b"
Run Code Online (Sandbox Code Playgroud)
我怎样才能实现这个目标?
我有一个包含对象name和id属性的列表:
[
{
"name": "open",
"id": "1"
},
{
"name": "inprogress",
"id": "2"
},
{
"name": "close",
"id": "3"
}
]
Run Code Online (Sandbox Code Playgroud)
并使用带有 *ngFor 的 MatSelect 迭代数组并使用 select using 绑定当前状态[(ngModel)]。
预期输出:
如果当前状态是inprogress禁用open选项
如何在Angular Material DataTable中传递我的API服务数据。我想呈现我的数据而不是此静态数组。如果我像*ngFor="let item of service.list"这样渲染数据,则数据已加载,但分页和排序不起作用。请为此提供一些解决方案或示例。
import { Component, OnInit, ViewChild } from '@angular/core';
import { MatPaginator, MatSort, MatTableDataSource } from '@angular/material';
export interface PeriodicElement {
name: string;
position: number;
weight: number;
symbol: string;
}
const ELEMENT_DATA: PeriodicElement[] = [
{position: 1, name: 'Hydrogen', weight: 1.0079, symbol: 'H'},
{position: 2, name: 'Helium', weight: 4.0026, symbol: 'He'},
{position: 3, name: 'Lithium', weight: 6.941, symbol: 'Li'}
];
@Component({
selector: 'app-root',
styleUrls: ['./app.component.css'],
templateUrl: './app.component.html',
})
export class AppComponent implements OnInit …Run Code Online (Sandbox Code Playgroud) 我使用了 Angular Material 表,我从 ts 文件绑定了数据源,但是所有数据都加载在第一页上,分页不起作用。我还有两个表,它们在同一页上,其他表也有同样的问题.
我试过了
setTimeout(() => this.dataSource.paginator = this.paginator);
Run Code Online (Sandbox Code Playgroud)
和
ngAfterViewInit() {
this.dataSource.paginator = this.paginator
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<mat-table class="mt-4 table-container" fxFlex="100" [dataSource]="allUsers">
<ng-container matColumnDef="checked">
<mat-header-cell fxFlex="10" (click)="selectAllUsers()" *matHeaderCellDef>
<mat-checkbox [(ngModel)]="checkedAllUsers"></mat-checkbox>
</mat-header-cell>
<mat-cell fxFlex="10" *matCellDef="let element">
<mat-checkbox [(ngModel)]="element.checked"></mat-checkbox>
</mat-cell>
</ng-container>
<ng-container matColumnDef="firstName">
<mat-header-cell fxFlex="25" *matHeaderCellDef> First Name </mat-header-cell>
<mat-cell fxFlex="25" *matCellDef="let element"> {{element.firstName}} </mat-cell>
</ng-container>
<ng-container matColumnDef="lastName">
<mat-header-cell fxFlex="25" *matHeaderCellDef> Last Name </mat-header-cell>
<mat-cell fxFlex="25" *matCellDef="let element"> {{element.lastName}} </mat-cell>
</ng-container>
<ng-container matColumnDef="email">
<mat-header-cell fxFlex="30" *matHeaderCellDef> Email </mat-header-cell>
<mat-cell …Run Code Online (Sandbox Code Playgroud) 我有一个需要三个参数的 api,一个字符串(dataType),一个类(eloanInput)和一个 bool(isCluster)
public HttpResponseMessage getEloanExcel(string dataType, EloanInput eloanInput, bool isCluster = false)
{
var exportDataService = new ExportDataService();
var exportExcel = new ExportExcel(dataType);
var inputParams = new CaseSearch.EloanInput();
inputParams.SEARCH_TYPE = eloanInput.SEARCH_TYPE;
inputParams.COUNTY_ID = eloanInput.COUNTY_ID;
inputParams.TOWN_ID = eloanInput.TOWN_ID;
inputParams.HOUSE_TYPES = (eloanInput.HOUSE_TYPES[0] == "-1" && eloanInput.HOUSE_TYPES.Count() == 1) ? null : eloanInput.HOUSE_TYPES;
inputParams.HouseProject = (eloanInput.HouseProject[0] == "-1" && eloanInput.HouseProject.Count() == 1) ? null : eloanInput.HouseProject;
inputParams.PUB_START_DT = eloanInput.PUB_START_DT;
inputParams.PUB_END_DT = eloanInput.PUB_END_DT;
}
Run Code Online (Sandbox Code Playgroud)
就像下图一样:

我在Postman中测试API时遇到问题,我使用key,value方法传递我的参数,只有eloanInput获取null,它没有获取我传递给它的值,但其他参数确实通过postman获取了值.
[Key] [Value]
dataType 'Eloan'
eloanInput { "SEARCH_TYPE": …Run Code Online (Sandbox Code Playgroud) 我想根据下拉列表中的选定值生成输入文本框。
<mat-label>Options</mat-label>
<mat-form-field>
<select matNativeControl name="Options" required>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)
就在这个选择框之后,一些输入字段应该按照选定的数字出现。
我有一个像这样的数组:
[
{ "empName": "Sushant", "departments": ["HR","DEV"] },
{ "empName": "Prashant", "departments": ["HR","MNGT"] }
];
Run Code Online (Sandbox Code Playgroud)
我想将此数组转换为:
[
{ "Sushant": "HR", "Prashant":"HR" },
{ "Sushant": "DEV", "Prashant":"MNGT" }
]
Run Code Online (Sandbox Code Playgroud)
我试过for循环和 Object.values
var data = [
{ "empName": "Sushant", "departments": ["HR","DEV"] },
{ "empName": "Prashant", "departments": ["HR","MNGT"] }
];
for (var i = 0; i < data.length; i++) {
var obj = Object.values(data[i]);
console.log(obj)
}Run Code Online (Sandbox Code Playgroud)
我目前使用的是 Angular 6.1.5。当网站路由到不同页面时,我希望页面滚动回顶部。我尝试使用{ scrollPositionRestoration: 'top' }但它不起作用。
这是我在 app.routing.ts 中的代码。
export const routing = RouterModule.forRoot(appRoutes, { scrollPositionRestoration: 'top' });
Run Code Online (Sandbox Code Playgroud)
有替代方案吗?我尝试从“顶部”更改为“启用”,但效果不佳。我也尝试window.scrollTo(0,0);将其放入ngOnInit(),但也不起作用。
angular ×5
angular7 ×2
c# ×2
asp.net ×1
html ×1
javascript ×1
json ×1
postman ×1
pyspark ×1
python ×1
sql ×1
sql-server ×1
typescript ×1