在我的ASP.NET MVC应用程序中,我使用jQuery DataTables列出我的客户。我的jQuery版本是3.3.1。我为我的DataTable使用了这段代码,它工作正常:
objectif将通过另一个搜索输入来过滤数据表(应用程序的设计由设计者强加)。 为此,我使用以下代码
<input type="text" onkeyup="filterTable(this);" id="txt-search" maxlength="20" placeholder="Rechercher..." class="capron-input-text pull-right" />
//Sets the value of the search input of the datatable and triggers the keyup event. It works fine.
function filterTable(sender) {
var filterText = $(sender).val();
var searchInput = $("#tbl-data_filter").find("input");
$(searchInput).val(filterText);
$(searchInput).trigger("keyup");
}
$(document).ready(function() {
$('#tbl-data').dataTable();
// These two lines hides related fields. It works.
$("#tbl-data_filter").hide();
$("#tbl-data_length").hide();
});
当我使用此代码转换DataTable时,本地化工作正常,但搜索输入和行数Dropdown仍然可见:
$(document).ready(function () {
$('#tbl-data').dataTable({
"language": {
"url": "/Resources/Localisation/French.json"
}
});
// It doesn't work.
$("#tbl-data_filter").hide();
$("#tbl-data_length").hide();
});
如果我在手动事件中调用这些行,例如任何控件的click
事件,它将再次起作用。我认为DataTable()
方法是异步的,在它完成要隐藏的元素的翻译和创建之前,行会执行。
有人有什么想法吗?
答案 0 :(得分:0)
经过一番搜索,我找到了解决方案:
我在CSS中添加了这些行
MERGE INTO tab1 tgt USING (
SELECT
CASE mod( ROW_NUMBER() OVER(
ORDER BY
col1 -- the column which is in order and unique
),10)
WHEN 1 THEN 1.23
WHEN 2 THEN 12.34
WHEN 3 THEN 123.45
--..
--.. 9
ELSE col2
AS col2
FROM
tab1 t
)
src ON ( tgt.rowid = src.rowid ) --use primary key/unique key if there is one instead of rowid
WHEN MATCHED THEN UPDATE SET tgt.col2 = src.col2;