我有一个小程序,用于将值存储在“ 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();
答案 0 :(得分:0)
请尝试以下操作,这是在代码中对DGV进行排序的方法,DataGridView中有一个称为“排序”的方法
this.dataGridView1.Sort(this.dataGridView1.Columns["Name"],ListSortDirection.Ascending);
检查此Microsoft定义 link
答案 1 :(得分:0)
如果要在顶部看到最后一个添加项,则需要增加值或创建日期。
如果要按名称或其他字段列出列表。
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
我希望我能帮忙
答案 2 :(得分:0)
您可以尝试在表中添加新列,例如[创建日期],[日期添加]或类似的内容,然后在查询中可以使用ORDER BY子句。
ORDER BY [Creation Date] DESC
或
ORDER BY [Date Add] DESC
答案 3 :(得分:0)
我从“ 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
。然后,列表将在顶部并按顺序添加新操作。