【发布时间】:2016-04-04 03:14:49
【问题描述】:
我正在尝试使用 C# 中的 datagrid 创建一个报告,它将显示多个数据,但如果它们在表中具有相同的值,则会隐藏标识符。
结果应该是这样的
这是我在数据库中获取数据的代码和查询。
//Seperated public class
public DataTable ViewDailyRecord(BELReport belreport) {
SqlCommand cmd = new SqlCommand();
cmd.Connection = dbcon.getcon();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT * FROM ReportStorageDetails WHERE Date=@Date";
cmd.Parameters.AddWithValue("@Date",belreport.DailyReport);
SqlDataReader dr = cmd.ExecuteReader();
DataTable table = new DataTable();
table.Load(dr);
return table;
}
// Code inside my form
belreport.DailyReport = Convert.ToDateTime(date_day_Daily.Text).ToString("yyyy-MM-dd");
DataTable table = balreport.ViewDailyRecord(belreport);
dgv_daily.DataSource = table;
提前谢谢你。
【问题讨论】:
-
有什么问题?例外?结果不一样??
-
你想用 SQL 还是 C# 来操作数据?
-
没有。这没有问题。我想做的就是上面那个excel格式。要知道,如果使用原生 select * from 选择表中的所有数据,它只会显示所有查询。我想要的是,如果标识符有多个副本,那么它将隐藏标识符(第一个除外),但具有相同标识符的值将保持可见。
-
@Stringfellow 我不知道是否有关于此的查询。否则,C# 中有一个属性,数据网格将为我执行此操作。 :(
-
如果我要在 C# 中解决它,我会按第一列排序,然后遍历这组行。在迭代时,我会跟踪我遇到的值,然后将后续相同命名的值设置为空字符串。
标签: c# sql sql-server sql-server-2014