GVKun编程网logo

如何在@swimlane/ngx-datatable 中编辑行

5

在本文中,我们将带你了解如何在@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 中编辑行

如何在@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()中的缺陷

.net – 如何处理System.Data.DataTableExtensions.CopyToDataTable()中的缺陷

嘿伙计们,所以我遇到了一些可能是Extension方法.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 列的顺序

.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

.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 自定义为自动增量

如何解决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>

在@tusharghoshbd ngx-datatable 中,如何将 key: ''id'' 格式化为自动增量而不是从数据库中获取值?

谢谢

解决方法

 <ngx-datatable-column name="S No.">
      <ng-template ngx-datatable-cell-template let-rowIndex="rowIndex" let-row="row">
         {{rowIndex+1}}
     </ng-template>
 </ngx-datatable-column>
,

您可以使用 cellTemplate 自动增加 ID 列的格式。

假设:JSON 数据基于 this question。

site-info.component.html

<ngx-datatable table[data]="userInfoList" [columns]="columns"
  [options]="options">
  ...

  <ng-template #idTpl let-rowIndex="rowIndex" let-row="row">
    {{rowIndex+1}}
  </ng-template>
</ngx-datatable>

site-info.component.ts

export class SiteInfoComponent implements OnInit {
  ...

  @ViewChild(''idTpl'',{
    static: true
  })
  idTpl: TemplateRef<any>;

  ngOnInit(): void {
    ...

    this.columns = [
      {
        key: ''id'',title: ''<div> ID</div>'',width: 60,sorting: true,align: {
          head: ''center'',body: ''center''
        },vAlign: {
          head: ''bottom'',body: ''middle''
        },cellTemplate: this.idTpl
      },...
    ];
  }
}

Sample solution on StackBlitz


备注:

如果你只想显示每条记录的行索引,你可以这样做。

但是,我不建议您使用此行索引对 DB 执行数据插入/更新/检索/删除(C.R.U.D)。由于 ID 是唯一的,并且假设它应该由数据库自动递增。

今天的关于如何在@swimlane/ngx-datatable 中编辑行的分享已经结束,谢谢您的关注,如果想了解更多关于.net – 如何处理System.Data.DataTableExtensions.CopyToDataTable()中的缺陷、.net 手动建DataTable 获取DataTable列名 修改DataTable 列的顺序、.net将一个DataTable拆分成n个DataTable、Angular - 如何在@tusharghoshbd ngx-datatable 中将 id 自定义为自动增量的相关知识,请在本站进行查询。

本文标签:

上一篇R:处理“yaml”解析器错误(解析yaml文件)

下一篇JSP 文件中的 Eclipse 错误:在 java 构建路径上找不到超类“javax.servlet.http.HttpServlet”