{% block page_scripts %}
<script type="text/javascript">
$('#dataTable').DataTable({
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "all-users-json",
"fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
var url = "{{ urlFor('management.user', , {'user': "+aData[1]+"}) }}"; //<-----------
$('td:eq(0)', nRow).html('<a href="' + url + '">' + aData[0] + '</a>');
}
});
</script>
{% endblock %}
答案 0 :(得分:1)
没关系,我只是这样使用,我已添加private void data1_CellLeave(object sender, DataGridViewCellEventArgs e)
{
if (Convert.ToInt32(((DataGridView)sender).CurrentCell.Value) < -99)
{
((DataGridView)sender).CurrentCell.Value = -99;
}
}
user/
答案 1 :(得分:0)
如documentation所述,为路线生成链接,您需要path_for()
功能而不是urlFor()
。
此外,您正尝试在JS函数中渲染twig-part。 Twig只渲染一次这个块。它呈现JS代码,而不是运行此代码,因此它无法在JS函数中呈现自己。
试试这段代码:
{% block page_scripts %}
<script type="text/javascript">
$('#dataTable').DataTable({
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "all-users-json",
"fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
{% set pattern = '#some_unique_symbols_combination#' %}
var url = "{{ path_for('management.user', {'user': pattern}) }}";
url = url.replace('{{ pattern }}', aData[1]);
$('td:eq(0)', nRow).html('<a href="' + url + '">' + aData[0] + '</a>');
}
});
</script>
{% endblock %}
这里发生了什么?我声明了一些pattern
不会与aData[1]
值相交并生成给定路径的唯一URL。当Twig呈现页面时,会生成一次此URL。之后它生成JS行,其中JS解释器将声明的pattern
替换为JS值作为参数传递给JS函数。