在本文中,我们将带你了解如何在@swimlane/ngx-datatable中编辑行在这篇文章中,同时我们还将给您一些技巧,以帮助您实现更有效的.net–如何处理System.Data.DataTab
在本文中,我们将带你了解如何在@swimlane/ngx-datatable 中编辑行在这篇文章中,同时我们还将给您一些技巧,以帮助您实现更有效的.net – 如何处理System.Data.DataTableExtensions.CopyToDataTable()中的缺陷、.net 手动建DataTable 获取DataTable列名 修改DataTable 列的顺序、.net将一个DataTable拆分成n个DataTable、Angular - 如何在@tusharghoshbd ngx-datatable 中将 id 自定义为自动增量。
本文目录一览:- 如何在@swimlane/ngx-datatable 中编辑行
- .net – 如何处理System.Data.DataTableExtensions.CopyToDataTable()中的缺陷
- .net 手动建DataTable 获取DataTable列名 修改DataTable 列的顺序
- .net将一个DataTable拆分成n个DataTable
- Angular - 如何在@tusharghoshbd ngx-datatable 中将 id 自定义为自动增量
如何在@swimlane/ngx-datatable 中编辑行
如何解决如何在@swimlane/ngx-datatable 中编辑行?
试图编辑@swimlane/ngx-datatable 中的行值。但不工作。我知道如何通过事件、行索引、单元格进行更新。那么如何通过这些来保存对象中的行数据。请帮助找到解决方案。请查看我的 stackblitz 以获取演示。
const date = ''13/13/2013'';
console.log(date.match(/[0-9]/g).length)
演示:https://stackblitz.com/edit/angular-w3qpqa?file=app%2Fapp.component.ts
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
.net – 如何处理System.Data.DataTableExtensions.CopyToDataTable()中的缺陷
导入(在VB.NET中)System.Data.DataTableExtensions然后针对IEnumerable调用该方法使用此方法.如果要使用LINQ过滤数据表,然后在最后还原DataTable,则可以执行此操作.
即:
Imports System.Data.DaTarowExtensions Imports System.Data.DataTableExtensions Public Class SomeClass Private Shared Function GetData() As DataTable Dim Data As DataTable Data = LegacyADO.NETDBCall Data = Data.AsEnumerable.Where(Function(dr) dr.Field(Of Integer)("SomeField") = 5).copyToDataTable() Return Data End Function End Class
在上面的示例中,“WHERE”过滤可能不会返回任何结果.如果发生这种情况,copyToDataTable会抛出异常,因为没有DaTarows.
为什么?
正确的行为应该是返回一个Rows.Count = 0的DataTable.
任何人都可以想到一个干净的解决方法,这样调用copyToDataTable的人不必知道这个问题吗?
System.Data.DataTableExtensions是一个静态类,所以我无法覆盖行为….任何想法?我错过了什么吗?
干杯
更新:
我已将此问题提交给Connect.我仍然想要一些建议,但如果您同意我的意见,可以通过以上链接在Connect上投票
干杯
someDataTable.AsEnumerable().Where(r => r.Field<string>("SomeField") == "SomeValue").AsDataView().ToTable();
.AsDataView().ToTable()返回一个空表,其结构与someDataTable相同,如果现在有从.Where()返回的行
.net 手动建DataTable 获取DataTable列名 修改DataTable 列的顺序
//创建 表
DataTable tables = new DataTable();
//添加 创建 列
//第一列
DataColumn cums = new DataColumn();
cums.ColumnName = "UserName";
cums.DataType = typeof(string);
tables.Columns.Add(cums);
cums = new DataColumn();
cums.ColumnName = "Age";
cums.DataType = typeof(string);
tables.Columns.Add(cums);
tables.Columns.Add("Address", typeof(string)); 这种用的较多
tables.Columns["Address"].SetOrdinal(0); //修改DataTable 列的顺序
string[] columnNames = GetColumnsByDataTable(tables);
string ss = columnNames[0];
/// <summary>
/// 根据datatable获得列名
/// </summary>
/// <param name="dt">表对象</param>
/// <returns>返回结果的数据列数组</returns>
public string[] GetColumnsByDataTable(DataTable dt)
{
string[] strColumns = null;
if (dt.Columns.Count > 0)
{
int columnNum = 0;
columnNum = dt.Columns.Count;
strColumns = new string[columnNum];
for (int i = 0; i < dt.Columns.Count; i++)
{
strColumns[i] = dt.Columns[i].ColumnName;
}
}
return strColumns;
}
.net将一个DataTable拆分成n个DataTable
/// <summary>
/// 分解数据表
/// </summary>
/// <param name="originalTab">需要分解的表</param>
/// <param name="rowsNum">每个表包含的数据量</param>
/// <returns></returns>
public DataSet SplitDataTable(DataTable originalTab, int rowsNum)
{
//获取所需创建的表数量
int tableNum = originalTab.Rows.Count / rowsNum;
//获取数据余数
int remainder = originalTab.Rows.Count % rowsNum;
DataSet ds = new DataSet();
//如果只需要创建1个表,直接将原始表存入DataSet
if (tableNum == 0)
{
ds.Tables.Add(originalTab);
}
else
{
//如果不能整除则需要+1
if (remainder!=0)
{
tableNum += 1;
}
DataTable[] tableSlice = new DataTable[tableNum];
//Save orginal columns into new table.
for (int c = 0; c<tableNum; c++)
{
tableSlice[c] = new DataTable();
foreach(DataColumn dc in originalTab.Columns)
{
tableSlice[c].Columns.Add(dc.ColumnName,dc.DataType);
}
}
//Import Rows
for (int i = 0; i<tableNum; i ++)
{
// if the current table is not the last one
if (i != tableNum -1)
{
for(int j = i * rowsNum; j< ((i+1)* rowsNum); j++)
{
tableSlice[i].ImportRow(originalTab.Rows[j]);
}
}
else
{
for(int k = i * rowsNum; k< ((i+1)* rowsNum+remainder); k++)
{
tableSlice[i].ImportRow(originalTab.Rows[k]);
}
}
}
//add all tables into a dataset
foreach(DataTable dt in tableSlice)
{
ds.Tables.Add(dt);
}
}
return ds;
}
Angular - 如何在@tusharghoshbd ngx-datatable 中将 id 自定义为自动增量
如何解决Angular - 如何在@tusharghoshbd ngx-datatable 中将 id 自定义为自动增量?
我有@tushargho 的代码
export class SiteInfoComponent implements OnInit {
@ViewChild(''actionTpl'',{
static: true
})
actionTpl: TemplateRef < any > ;
@ViewChild(''addresstpl'',{
static: true
})
addresstpl: TemplateRef < any > ;
@ViewChild(''activeTpl'',{
static: true
})
activeTpl: TemplateRef < any > ;
@ViewChild(''departmentTpl'',{
static: true
})
isLoading: boolean = false;
options: any = {};
userInfoList: any[] = [];
columns: any = {};
constructor(private userInfoService: UserInfoService) {}
ngOnInit(): void {
this.options = {
loader: true
};
this.columns = [{
key: ''id'',title: ''<div> ID</div>'',width: 60,sorting: true,align: {
head: ''center'',body: ''center''
},vAlign: {
head: ''bottom'',body: ''middle''
}
},{
key: ''first_name'',title: ''<div>First Name</div>'',width: 100
},{
key: ''last_name'',title: ''<div>Last Name</div>'',{
key: ''department'',title: ''<div>Department</div>'',align: {
head: ''left''
},width: 100,cellTemplate: this.departmentTpl
},{
key: '''',title: ''<div>Action</div>'',sorting: false,width: 80,cellTemplate: this.actionTpl
}
];
this.isLoading = true;
this.userInfoService.getAllUserDetail().subscribe(
data => {
console.log(data);
this.userInfoList = [data.results.user];
this.options = {
...this.options,loader: false
};
},error => {
this.isLoading = false;
}
);
}
}
HTML:
<ngx-datatable table[data]="userInfoList" [columns]="columns" [options]="options">
<ngx-caption>
<div>
<div>
<b>
<iaria-hidden="true"></i>
Site Info. List
</b>
</div>
</div>
</ngx-caption>
<ng-template #addresstpl let-row let-rowIndex="rowIndex" let-columnValue="columnValue">
</ng-template>
<ng-template #actionTpl let-row let-rowIndex="rowIndex" let-columnValue="columnValue">
</ng-template>
<ng-template #departmentTpl let-row let-rowIndex="rowIndex" let-columnValue="columnValue">
{{columnValue.name}}
</ng-template>
</ngx-datatable>