JTable:如何更改,添加新的记录链接文本? (mvc 4.0)

时间:2013-07-30 14:11:05

标签: asp.net-mvc jquery-jtable

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

3 个答案:

答案 0 :(得分:7)

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

 $('#MyTableContainer').jtable({

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

    actions: {
        //Action definitions comes here
    },

    fields: {
        //Field definitions comes here
    }
}); 

答案 1 :(得分:3)

查看jTable的本地化功能,虽然专门用于不同语言,但您可以轻松利用此功能并为项目创建新的localization.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);

希望您使用的是Bundling和Minification功能,因此我只是添加到我的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");

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

答案 2 :(得分:0)

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