什么是 BaseColumns

这是一个简单的界面,添加两个字段:

public interface BaseColumns
{
    /**
     * The unique ID for a row.
     * <P>Type: INTEGER (long)</P>
     */
    public static final String _ID = "_id";
 
    /**
     * The count of rows in a directory.
     * <P>Type: INTEGER</P>
     */
    public static final String _COUNT = "_count";
}

内部 sqlite 数据库中都加了 Android 使用 _id 列的 autoincrements 作为主键可以起作用。这还将映射与 ContentProvider s

 

 

BaseColumns 接口提供了名称非常常见的 _ID _COUNT 的列。

使用通用名称无论对其整体结构 (即其他非 ID 列) 以统一的方式可以解决任何数据的项目,Android 平台 (和开发人员以及)。在接口/类中定义的常用的字符串常量可以避免一般和各地代码的拼写错误。

使用列命名为 _id (的常量值 BaseColumns._ID ) 所必需的 CursorAdapter ,实现 ContentProvider 和其他地方送交给 Cursor Android 平台,为你做的事情。例如,该适配器的 ListView 使用 _ID 给你的唯一 ID 的列表项的列中单击 OnItemClickListener.onItemClick() ,而无需显式指定您的 ID 列是什么每次。

到底还是不 实现 接口只包含常量或 参考他们与他们的全名,即 BaseColumns._ID 是一个味道的问题。我个人更倾向于后者,因为它是更明显的位置 _ID 来自与前者感觉像是滥用的继承。

 

exportCSV() { this.$refs.xTable.exportData({ type: 'csv', fileName: '夹具数据_' + new Date().toLocaleDateString(), customExport: { columns: this.generateExportColumns(), data: this.generateExportData() }, options: { useCsv: true, bom: true, separator: ',' } }).then(() => { this.$message.success('CSV导出成功') }).catch(err => { this.$message.error('CSV导出失败: ' + err.message) }) }, // 生成导出列配置 generateExportColumns() { // 基础列配置 const baseColumns = [ { field: 'WorkSection', title: '工段' }, { field: 'Category', title: '分类' }, { field: 'Area', title: '区域' }, { field: 'WorkStation', title: '工位号/位置' }, { field: 'TFNo', title: '夹具编号' }, { field: 'TFName', title: '夹具名称' }, { field: 'AssetNo', title: '固定资产号' }, { field: 'FixtureStatus', title: '状态' } ] // 动态生成嵌套列的导出配置 const dynamicColumns = this.tableColumnList.map(item => { return { field: `dynamic_${item.Id}`, //title: `${item.VehicleName}-${item.SapNo}-${item.WhiteNo}-${item.ModelName}-${item.TfCount}` title: `${item.VehicleName}-${item.ModelName}` } }) console.log("生成的数据列",[...baseColumns, ...dynamicColumns]) return [...baseColumns, ...dynamicColumns] }, // 生成导出数据 generateExportData() { return this.gridData.map(row => { const newRow = { WorkSection: row.WorkSection, Category: row.Category, Area: row.Area, WorkStation: row.WorkStation, TFNo: row.TFNo, TFName: row.TFName, AssetNo: row.AssetNo, FixtureStatus: row.FixtureStatus } // 添加动态列 this.tableColumnList.forEach(item => { const value = row[item.Id.toString()]; newRow[`dynamic_${item.Id}`] = value !== undefined ? value : '0'; }); console.log("导出数据",newRow,"导出数据") return newRow }) }导出的数据动态列title不生效,显示的tfCount的值,可以怎么样改造一下
最新发布
06-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值