1

如何更改+Add New RecordJ-Table 中的默认链接文本?

4

3 回答 3

8

直接来自 JTable 的作者,它是迄今为止实现这一目标的最佳方式。

 $('#MyTableContainer').jtable({

    messages: {
        addNewRecord: 'Add new whatever'
    },

    actions: {
        //Action definitions comes here
    },

    fields: {
        //Field definitions comes here
    }
}); 
于 2013-12-17T21:40:53.780 回答
3

查看 jTable 的本地化功能,虽然专门用于不同的语言,但您可以轻松利用此功能并为您的项目创建一个新的本地化.js 文件。这样,您始终可以更新到最新版本的 jTable,而不必担心您可能对核心 jTable.js 库文件所做的更改。您永远不应该直接更改您在项目中引用的核心第三方库,因为您总是会到必须升级以获得第三方库资产的最新新功能或修补程序的时候,您将陷入困境,因为您不会确切地记得您所做的更改以及如何将您的更改转移到最新版本。

http://www.jtable.org/apireference#Localization

所以在我的项目中,我有一个加载“Job”数据类型的 jTable。因此,我简单地在 /Scripts/jtable/localization 目录中创建了一个名为 jquery.table.jobs.js 的自定义目录和文件,这与任何地方一样好,但您可以将扩展消息 js 文件放在任何地方。这是 jquery.table.jobs.js 中的代码:

/*
    jTable localization file for jobs grid
*/
(function ($) {

    $.extend(true, $.hik.jtable.prototype.options.messages, {
        serverCommunicationError: 'An error occured while communicating to the server.',
        loadingMessage: 'Loading jobs...',
        noDataAvailable: 'No data available!',
        addNewRecord: 'Add New Job',
        editRecord: 'Edit Job',
        areYouSure: 'Are you sure?',
        deleteConfirmation: 'This job will be deleted. Are you sure?',
        save: 'Save Job',
        saving: 'Saving Job',
        cancel: 'Cancel',
        deleteText: 'Delete Job',
        deleting: 'Deleting Job',
        error: 'Error',
        close: 'Close',
        cannotLoadOptionsFor: 'Can not load options for field {0}',
        pagingInfo: 'Showing {0}-{1} of {2} Jobs',
        pageSizeChangeLabel: 'Row count',
        gotoPageLabel: 'Go to page',
        canNotDeletedRecords: 'Can not deleted {0} of {1} records!',
        deleteProggress: 'Deleted {0} of {1} records, processing...'
    });

})(jQuery);

希望您像我一样使用捆绑和缩小功能,所以我刚刚添加到我的 BundleConfig.cs 类中:

   //====================================================================
            //Add jtable localization bundles for Customer messages for each type of data being managed by a jTable
            //====================================================================
            bundles.Add(new ScriptBundle("~/bundles/jtable-custom-messages-jobs").Include(
                       "~/Scripts/jtable/localization/custom/jquery.jtable.jobs.js"));

            bundles.Add(new ScriptBundle("~/bundles/jtable-custom-messages-customers").Include(
                      "~/Scripts/jtable/localization/custom/jquery.jtable.customers.js"));
            //====================================================================

然后在我的工作视图中,我只需添加:

 @Scripts.Render("~/bundles/jtable-custom-messages-jobs");

当然,在我的客户视图中有一个加载“客户”类型数据记录的 jTable,我添加:

 @Scripts.Render("~/bundles/jtable-custom-messages-customers");

其中 bundle jquery-customer-messages-customers 只是捆绑了另一个 jTable 本地化覆盖脚本: /Scripts/jtable/localization/jquery.jtable.customers.js 包含特定消息,例如“添加新客户”而不是“添加新工作” .

于 2013-11-21T00:35:27.787 回答
0

打开jquery.jtable.js(甚至是缩小版),ctrl + f,搜索“添加新记录”,找到文件中的属性。然后将其更改为您想要显示的任何内容。

于 2013-08-14T12:24:06.353 回答