[英]Sort datagridview by newest c#
我有一个小程序将值存储在“ datagridview”中。 问题在于新值隐藏在数据网格的中间。 我只是希望将最新上传的“值”放置在数据顶部。 因此,每次有人上载新值时,都应将其存储在datagridview的顶部。 谢谢。
https://gyazo.com/0f44611556133d8db60e66e910fd4fa3 https://gyazo.com/81a2996928b5f21f1aec5f20f9861b5d
//Showing history
con.Open();
SqlCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT (Hund),(Vem),(Vad),(Datum),(Tid) FROM lexidatabase.dbo.tbl_rastad WHERE username = @Username";
cmd.Parameters.Add("@Username", SqlDbType.VarChar, 50).Value = Login.username;
cmd.ExecuteNonQuery();
DataTable dt = new DataTable();
SqlDataAdapter sa = new SqlDataAdapter(cmd);
sa.Fill(dt);
historik.DataSource = dt;
con.Close();
请尝试以下操作,这是在代码中对DGV进行排序的方法,DataGridView中有一个称为“排序”的方法
this.dataGridView1.Sort(this.dataGridView1.Columns["Name"],ListSortDirection.Ascending);
检查此Microsoft定义链接
如果要在顶部看到最后一个添加项,则需要增加值或创建日期。
如果要按名称或其他字段列出列表。
SELECT (Hund),(Vem),(Vad),(Datum),(Tid) FROM lexidatabase.dbo.tbl_rastad WHERE username = @Username Order By Hund,Vem,Datum asc
您可以使用asc或desc。
Order By Hund,Vem,Datum asc
Order By Hund asc
Order By Datum asc
Order By Tid asc
希望我能帮忙
您可以尝试在表中添加新列,例如[Creation Date],[Date Add]等,然后在查询中可以使用ORDER BY子句。
ORDER BY [Creation Date] DESC
要么
ORDER BY [Date Add] DESC
我从“ snn brn ”那里得到了一个解决方案。
cmd.CommandText = "SELECT (Hund),(Vem),(Vad),(Datum),(Tid)
FROM lexidatabase.dbo.tbl_rastad WHERE username = @Username ORDER BY (Datum) desc,(Tid) desc";
因此,基本上,您必须按datum(date)
和tid(time)
对其进行排序,然后在其末尾添加desc
。 然后,列表将在顶部并按顺序添加新操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.