我想要(当按下Click时)前一行仍然存在于datagridview中,同时添加新行(这样用户可以在datagridview中添加他/她想要的数据行)。
我在stackoverflow.com上发现了很多关于datagridview行的问题,但我无法根据我的问题找出它们。其次,我是Dapper的新手,所有答案都是使用ADO.NET。
我有一个想法,应该有一个简单的方法来解决这个问题。
我将datagridview绑定到Orders Class。
这是我的订单类......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test
{
public class Orders
{
public int ItemId { get; set; }
public string ItemName { get; set; }
public string Brand { get; set; }
public string Category { get; set; }
public int Quantity { get; set; }
public int Price { get; set; }
}
}
选择按钮单击事件是..
private void btn_select_Click(object sender, EventArgs e)
{
using (IDbConnection db = new SqlConnection(ConfigurationManager.ConnectionStrings["Connection"].ConnectionString))
{
if (db.State == ConnectionState.Closed)
db.Open();
string query = "SELECT *FROM tbl_ItemDetail WHERE ItemName=@ItemName";
ordersBindingSource.DataSource = db.Query<Orders>(query, new { ItemName = txt_sell_item.Text });
}
}
当我输入ItemName为'bread'时,GUI就是..
但是当我输入ItemName为'bjn'时,第一行将替换为最新的行..
答案 0 :(得分:0)
问题背后的主要原因在于NA
,每次用户点击按钮时,您都会绑定button click event handler
,按钮会按预期显示一条记录。不要分配DataSource
,而是编写一个插入语句,在网格中插入记录。通过这样做,您的问题肯定会得到解决。
我没有给代码解决方案,因为我现在没有我的电脑。