我拼凑了一个C#程序,它接受一个.csv文件并将其写入DataTable.使用这个程序,我可以循环遍历每一行DataTable并打印出行中包含的信息.控制台输出如下所示:
--- Row ---
Item: 1
Item: 545
Item: 507
Item: 484
Item: 501
Run Code Online (Sandbox Code Playgroud)
我想在每个值旁边打印列名,以便它看起来像这样:
--- Row ---
Item: 1 Hour
Item: 545 Day1 KW
Item: 507 Day2 KW
Item: 484 Day3 KW
Item: 501 Day4 KW
Run Code Online (Sandbox Code Playgroud)
有人可以查看我的代码并告诉我我可以添加什么以便打印列名称吗?我对C#很新,所以如果我忽视了某些事情,请原谅我.
这是我的代码:
// Write load_forecast data to datatable.
DataTable loadDT = new DataTable();
StreamReader sr = new StreamReader(@"c:\load_forecast.csv");
string[] headers = sr.ReadLine().Split(',');
foreach (string header in headers)
{
loadDT.Columns.Add(header); // I've added the column headers here.
} …Run Code Online (Sandbox Code Playgroud) 我是角度5开发的新手.我正在尝试使用此处提供的示例开发带有角度材质的数据表:" https://material.angular.io/components/table/examples ".
我收到一个错误说 Can't bind to 'dataSource' since it isn't a known property of 'table'.
请帮忙.
我有一个WCF服务,我想从中返回一个DataTable.我知道这往往是一个备受争议的话题,至于返回DataTables是否是一个好习惯.让我们暂时搁置一下.
当我从头开始创建DataTable时,如下所示,没有任何问题.该表已创建,填充并返回给客户端,一切都很好:
[DataContract]
public DataTable GetTbl()
{
DataTable tbl = new DataTable("testTbl");
for(int i=0;i<100;i++)
{
tbl.Columns.Add(i);
tbl.Rows.Add(new string[]{"testValue"});
}
return tbl;
}
Run Code Online (Sandbox Code Playgroud)
但是,只要我出去打开数据库来创建表,如下所示,我得到一个CommunicationException"底层连接已关闭:连接意外关闭."
[DataContract]
public DataTable GetTbl()
{
DataTable tbl = new DataTable("testTbl");
//Populate table with SQL query
return tbl;
}
Run Code Online (Sandbox Code Playgroud)
该表正在服务器端正确填充.它比我循环并返回的测试表要小得多,并且查询小而快 - 这里没有超时或大数据传输的问题.正在使用相同的功能和DataContracts/ServiceContracts/BehaviorContracts.
为什么填充表的方式对表成功返回有什么影响?
我有一个Excel工作表我想读入数据表 - 除了Excel表格中的一个特定列之外,一切都很好.列,"产品ID",就像是值的组合##########和n#########.
我试图让OleDB通过将其读入数据集/数据表来自动处理所有内容,但"ProductID"中的任何值都会n######丢失,忽略并留空.我尝试通过使用datareader循环遍历每一行来手动创建我的DataTable,但结果完全相同.
这是代码:
// add the column names manually to the datatable as column_1, column_2, ...
for (colnum = 0; colnum < num_columns; colnum ++){
ds.Tables["products"].Columns.Add("column_" +colnum , System.Type.GetType("System.String"));
}
while(myDataReader.Read()){
// loop through each excel row adding a new respective datarow to my datatable
DataRow a_row = ds.Tables["products"].NewRow();
for (col = 0; col < num_columns; col ++){
try { a_row[col] = rdr.GetString(col); }
catch { a_row[col] = …Run Code Online (Sandbox Code Playgroud) 我有一个数据表填充了人员数据,如..
Staff 1 - Day 1 - Total
Staff 1 - Day 2 - Total
Staff 1 - Day 3 - Total
Staff 2 - Day 1 - Total
Staff 2 - Day 2 - Total
Staff 2 - Day 3 - Total
Staff 2 - Day 4 - Total
Run Code Online (Sandbox Code Playgroud)
我想修改,以便结果会像......
Staff 1 - Day 1 - Total
Staff 1 - Day 2 - Total
Staff 1 - Day 3 - Total
Total - - Total Value
Staff 2 - …Run Code Online (Sandbox Code Playgroud) 如果我有2个DataTables(dtOne和dtTwo),我想合并它们并将它们放在另一个DataTable(dtAll)中.我怎么能在C#中做到这一点?我在数据表上尝试了Merge语句,但是返回void.合并是否保留数据?例如,如果我这样做:
dtOne.Merge(dtTwo);
Run Code Online (Sandbox Code Playgroud)
dtOne是否会更改或更改dtTwo更改,如果其中任何一个更改,更改是否保留?
我知道我不能这样做,因为Merge返回void,但我希望能够在dtAll中存储dtOne和dtTwo的合并:
//Will Not work, How do I do this
dtAll = dtOne.Merge(dtTwo);
Run Code Online (Sandbox Code Playgroud) 在排序表中,通常有一个向上或向下箭头表示排序样式.但是,我在确定箭头指向哪个方向时遇到了一些麻烦.在ASC排序中,字符按1-9A-Za-z排序.箭头指向上或下吗?
我在网上找到了两者的实现,所以这对我没什么帮助:Up和Down(你必须先创建表).
对此有一个硬性规定吗?我发现自己能够证明两种实现的合理性.你用哪种方法?哪个更直观,为什么?
编辑:你们中的一些人已经建议了其他实现,比如上升的条形图或带箭头的字母表示排序方向.很棒的建议.我肯定对其他选择持开放态度.越不明确,越好.它可能是挑剔的,但我真的希望用户方面存在极少或没有混淆.
编辑:我现在最后一起上升和下降的酒吧.它不是标准的,但似乎比三角形更不明确.当前的排序列显示了三个条形图,从小到大(从左到右)表示ASC,与DESC相反.其他可排序列默认情况下没有条形,但将鼠标悬停在任何可排序列标题(包括当前列)上会显示描述如果单击该列标题将如何对表进行排序的条形图.
我正在创建一个小辅助函数来返回一个DataTable.我想跨所有供应商合作ADO.Net支持,所以我想到了使一切使用IDbCommand或DbCommand在可能的情况.
我用以下代码达到了绊脚石:
private static DataTable QueryImpl(ref IDbConnection conn, String SqlToExecute, CommandType CommandType, Array Parameters)
{
SetupConnection(ref conn);
// set the capacity to 20 so the first 20 allocations are quicker...
DataTable dt = new DataTable();
using (IDbCommand cmd = conn.CreateCommand())
{
cmd.CommandText = SqlToExecute;
cmd.CommandType = CommandType;
if (Parameters != null && Parameters.Length > 0)
{
for (Int32 i = 0; i < Parameters.Length; i++)
{
cmd.Parameters.Add(Parameters.GetValue(i));
}
}
dt.Load(cmd.ExecuteReader(), LoadOption.OverwriteChanges);
} …Run Code Online (Sandbox Code Playgroud) 我从一些Excel文件中导入了数据,并将其保存到了一个datatable.现在我想将这些信息保存在我的SQL Server数据库中.
我在网上看到了很多信息,但我无法理解:
OLE或SQL Server对象(如dataAdapter或connection)?我需要从他的Excel文件中读取员工每周工时报告并将其保存到保存所有报告的数据库表中(每周用新记录更新数据库).
Excel文件仅包含当前周的报告.
datatable ×10
c# ×7
.net ×2
angular ×1
datacolumn ×1
datarow ×1
dataset ×1
excel ×1
oledb ×1
select ×1
sql-server ×1
wcf ×1
web-services ×1