所以在这个应用程序中Drawing belongsTo Customer。我有数据表
<table id='drawing-table' class="table table-bordered table-hover">
<thead>
<tr>
<th>Drawing number</th>
<th>Customer</th>
</tr>
</thead>
</table>
Run Code Online (Sandbox Code Playgroud)
这表明$darwing->number和$customer->title。加载信息 I use yajra\Datatables\Datatables;.
数据是用这个 JS 方法加载的:
$(function () {
$('#drawing-table').DataTable({
processing: true,
serverSide: true,
ajax: '{{route('drawings.datatable')}}',
columns: [
{ data: 'number', name: 'number' },
{ data: 'customer.title', name: 'customer' },
]
});
});
Run Code Online (Sandbox Code Playgroud)
这个 Laravel 方法:
public function datatable()
{
$drawings = Drawing::select(array('drawings.id','drawings.number'));
return Datatables::of(Drawing::with('customer')->select('*'))->make(true);
}
Run Code Online (Sandbox Code Playgroud)
问题
$customer->title?我正在使用数据表为我的所有表提供 jquery 数据表的魔力,我通过将数据标题添加到我的 td 来制作我的响应表。如何将数据标题添加到我所有的 td 中,使它们看起来像这样
<td data-title="Fruit">Apple</td>
<td data-title="Good or bad">They are delicious</td>
Run Code Online (Sandbox Code Playgroud)
等等...
我目前有这个
$(document).ready(function() {
$('#contacts').DataTable( {
"processing": true,
"serverSide": true,
"ajax": "src/data.php?form_action=get-table",
} );
});
Run Code Online (Sandbox Code Playgroud)
我的返回 json 看起来像这样
{
"draw":"1",
"recordsTotal":2,
"recordsFiltered":2,
"data":[
[
"Apples",
"They are delicious",
"2016-10-10 07:47:12",
"New entry",
"1"
],
[
"Bananas",
"They are also delicious",
"2016-10-10 07:47:12",
"New entry",
"2"
]
]
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试计算字符串的内容.
我有1个字符串,其中包含例如:MyString ="1 + 5/2*4-2"现在我想计算该字符串的结果
我是c#的新手
我的代码:
string som = "";
int myInt;
private void getText_Click(object sender, EventArgs e)
{
string s = (sender as Button).Text;
som = som + s;
Console.WriteLine(som);
string[] words = som.Split(' ');
foreach (string word in words)
{
Console.WriteLine(word);
myInt += Convert.ToInt32(word);
}
Console.WriteLine(myInt);
Run Code Online (Sandbox Code Playgroud)
我试过这个答案:
double result = (double) new DataTable().Compute("1+1*4/2-5", null);
int i = (int) result; // -2
Run Code Online (Sandbox Code Playgroud)
但后来我得到了System.InvalidCastException:
指定演员表无效.
这是我的问题.
我有2个数据表提交完全相同的内容,但我不明白为什么,当我比较他们的列既不能==也.Equals不能返回true.
public void btn_Source_Click(object sender, EventArgs e)
{
FichierSource.OuvertureSource();
FichierSource.OuvertureBanque(comboBox1);
int i = 0;
foreach (DataColumn colonne in FichierSource.DTSource.Columns)
{
if (colonne == FichierSource.DTBanque.Columns[i])
MessageBox.Show("Same");
else
MessageBox.Show("Not the same");
i++;
}
}
Run Code Online (Sandbox Code Playgroud)
两个数据表都是2个不同的字段,CSV但CSV都有这个内容:
Nom|Prenom|Date|numero
Jack|Jared|17.04.17|1626010548999
Daphne|Orli|08.02.18|1660101461799
Dphne|Thane|04.06.18|1635062807599
Odessa|Gannon|08.02.18|1626032546899
Charles|Jena|22.11.16|1626040845399
我解决了很多相同的问题,我认为我理解了==和.Equals之间的区别,但是这2个都没有返回true,为什么?
编辑:这是一个两个变量值的屏幕截图,在这里输入图像描述
我目前正在将字段从上传的Excel文档映射到数据表。我希望未选择的列被删除,但它们仍然显示。
这是我的代码:
if(DT.Columns.IndexOf("First Name") != -1)
DT.Columns["First Name"].ColumnName = "First NameMap";
DT.Columns[mapping.FirstNameColumnId].ColumnName = "First Name";
if (DT.Columns.IndexOf("Last Name") != -1)
DT.Columns["Last Name"].ColumnName = "Last NameMap";
DT.Columns[mapping.LastNameColumnId].ColumnName = "Last Name";
if (DT.Columns.IndexOf("Email Address") != -1)
DT.Columns["Email Address"].ColumnName = "Email AddressMap";
DT.Columns[mapping.EmailColumnId].ColumnName = "Email Address";
int ColumnCounter = 0;
foreach(DataColumn column in DT.Columns)
{
if(ColumnCounter != mapping.FirstNameColumnId && ColumnCounter != mapping.LastNameColumnId && ColumnCounter != mapping.EmailColumnId)
{
DT.Columns.Remove(column);
}
}
Run Code Online (Sandbox Code Playgroud) 我正在创建一个适合我正在使用的MsSQL的DataTable的查询.这是我第一次使用MsSQL,所以我试图从我的MySQL中找出等效的MsSQL查询.
我做了一个自定义查询,将LIMITMySQL中的函数处理到MsSQL(希望如此).我在我的数据表中使用以下查询:
SELECT * FROM (
SELECT top 20 CAST(DATEPART(YEAR,[DeliveryDate]) as varchar) + ' Week ' + CAST(DATEPART(WEEK,[DeliveryDate]) AS varchar) AS week_name,
AVG(DATEDIFF(day, CONVERT(date, [UnloadDate]), CONVERT(date, [DeliveryDate]))) as Average_Delivery_Days
FROM [CARGODB].[dbo].[Cargo_Transactions]
WHERE [DeliveryDate] IS NOT NULL AND [DeliveryDate] != 0
AND [UnloadDate] IS NOT NULL AND [UnloadDate] != 0 AND [DeliveryDate] > [UnloadDate] AND [Deleted] = 0 and [StageID] = 'D'
AND [RouteID] IS NOT NULL AND [RouteID] != '' AND CONVERT(date, [DeliveryDate]) BETWEEN '2016-01-01' AND GETDATE()
AND …Run Code Online (Sandbox Code Playgroud) 我有DataTable一个DateTime存储为string像"二零一七年十二月二十零日".我想选择过去6个月内的所有行.
我可以这样做foreach:
foreach (DataRow dr in dsErgebnisse.Tables[0].Rows)
{
if (Convert.ToDateTime(dr[6].ToString()) > DateTime.Now.AddMonths(-6))
{
dsTemp.Tables[0].ImportRow(dr);
}
}
Run Code Online (Sandbox Code Playgroud)
这给了我3.613行.
我尝试用select来检查它是否更快:
DataRow[] foundRows = dsErgebnisse.Tables[0].Select("DATUM > '" + DateTime.Now.AddMonths(-6).ToShortDateString() + "'");
Run Code Online (Sandbox Code Playgroud)
DATUM是我的列,其中DateTime存储为字符串.这给了我2.624行.
为什么会有区别?我尝试在select语句中使用convert但是我失败了System.Data.EvaluateException:
foundRows = dsErgebnisse.Tables[0].Select("Convert(DATUM, 'System.DateTime') > '" + DateTime.Now.AddMonths(-6).ToShortDateString() + "'");
Run Code Online (Sandbox Code Playgroud) 在我的LaravelWeb应用程序中,我datatable用来显示数据。我的桌子有3个动作view,分别为edit和delete。为了编辑和查看,我正在使用Bootstrap 4模式。
这是我在模式上编辑的ajax请求代码:
$.ajax({
type:'GET',
url:"{{route('user.edit')}}",
data:{'id':user_id},
success:function(data){
var role;
if(data.role_id == 1){
role = 'Admin';
}else if(data.role_id == 2){
role = 'Seller';
}else{
role = 'Publisher';
}
$(header).empty();
$(header).append('<h3>'+data.details.name+'\'s details</h3>');
$('#name').empty();
$('#name').val(data.details.name);
$('#email').empty();
$('#email').val(data.details.email);
$('#contact').empty();
$('#contact').val(data.details.contact);
$('#address').empty();
$('#address').val(data.details.address);
$('#user_id').empty();
$('#user_id').val(data.details.id);
$.each(data.roles, function(index,val){
if(data.details.role_id == val.id)
var selected = 'selected';
$('#role').append('<option '+selected+' value="'+val.id+'">'+val.role_name+'</option>');
});
}
});
Run Code Online (Sandbox Code Playgroud)
现在,对于第一页,一切正常。但是,当我在其中搜索内容datatable或通过分页转到另一页时,我的ajax请求不起作用。我正在使用类来调用ajax请求。当我转到另一页面或搜索数据并单击“编辑”时,只有模式打开ajax请求不会启动,并且显示空模式。我该如何解决这个问题?
我有一个数据表,我想按值过滤.这是有效的:
var result = datatable.AsEnumerable()
.Where(r => r.Field<decimal?>("decimal_col") == 1);
Run Code Online (Sandbox Code Playgroud)
现在我想按小数列表过滤.我试图放,contains但它不起作用.这是清单:
var list = new List<decimal>() { 8, 3, 2, 1 };
Run Code Online (Sandbox Code Playgroud)
这就是我想要的,但它不起作用:
var result = datatable.AsEnumerable()
.Where(r => r.Field<decimal?>("decimal_col").Contains(list));
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
我已经在数据表中创建了导出选项,我希望它现在显示在表下方。谈论要在分页旁边的表格末尾显示的下载按钮。
$(document).ready(function (){
var table = $('#example').DataTable({
'responsive': true,
dom: 'Bfrtip',
buttons: [
'copy', 'csv', 'excel', 'pdf', 'print'
]
});
// Handle click on "Expand All" button
$('#btn-show-all-children').on('click', function(){
// Expand row details
console.log('Inside click');
table.rows(':not(.parent)').nodes().to$().find('td:first-child').trigger('click');
});
// Handle click on "Collapse All" button
$('#btn-hide-all-children').on('click', function(){
// Collapse row details
table.rows('.parent').nodes().to$().find('td:first-child').trigger('click');
});
$('#btn-show-all-children').trigger('click');
});
Run Code Online (Sandbox Code Playgroud)