c# - 在 C# 中单击 DataGridView 中的查看按钮
问题描述
我是 C# 的初学者。我有一个名为 ClientTransaction 和 ServiceDetails 的 Windows 窗体。我制作了一个 DataGridView,它在一行中有一个查看按钮,当您单击它时,它将生成一个 servicedetail 表单。我希望将 datagridview 中的客户端事务中的值传递到服务详细信息中。
客户交易表格:
单击视图后,将进入服务详细信息表
服务详情表格仅模拟
我试试这个代码
private void ClientTransaction_Load(object sender, EventArgs e)
{
DataGridViewButtonColumn viewBtn = new DataGridViewButtonColumn();
viewBtn.HeaderText = "Action";
viewBtn.Text = "View";
viewBtn.Name = "btnView";
viewBtn.UseColumnTextForButtonValue = true;
reservedGrid.Columns.Add(viewBtn);
}
private void reservedGrid_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
var senderGrid = (DataGridView)sender;
if (senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn &&
e.RowIndex >= 0)
{
//TODO - Button Clicked - Execute Code Here
ServiceDetail viiew = new ServiceDetail();
viiew.Show();
}
}
它可以在另一个表单上进行,但我仍然找到它的方法,从 datagridview 中客户端事务的每一行的值以另一种形式传递数据,这将在服务详细信息表单中传递,如上面的屏幕截图所示。谢谢!
客户交易表
id
INT AUTO_INCREMENT PRIMARY KEY,
client_id
INT NOT NULL,
status
VARCHAR(20) NOT NULL,
total_amt
DOUBLE (7,2),
trans_date
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
服务明细表
id
INT AUTO_INCREMENT PRIMARY KEY,
client_transaction_id
INT NOT NULL,
barber_id
INT NOT NULL,
service_id
INT NOT NULL,
added_on
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
解决方案
如果服务详细信息表单中没有构造函数,则在单击 viewBtn 时通过构造函数将信息传递给服务详细信息表单,然后在服务详细信息表单中为您的信息构造构造函数。
ServiceDetail viiew = new ServiceDetail(.....);//ID,client,total,etc
viiew.Show();
当您添加服务详细信息表单时,然后在此处添加参数化构造函数
class ServiceDetail
{
public ServiceDetail()
{
InitializeComponent();
}
public ServiceDetail(..................)//ID,client,total,etc
{
............................
............................
}
}
推荐阅读
- android - Firebase 对象识别类别的机器学习套件
- android - 自定义应用程序类上的 ClassNotFoundException(不在 APK/dex 文件中?)
- php - 如何从 PHP CLI 检查计算机是否在 Windows 上“全屏忙”?
- java - 从java调用带有参数作为密封类的Kotlin函数
- swift - 如何修复某些设备上的 UITableViewCell 缩小?
- azure - 如何将必应拼写检查代码添加到虚拟助手
- python - statsmodels SARIMAX - 如何按名称访问参数?
- angular - 角度 cdk 拖放 - 如果验证返回 false,是否有任何方法可以在放置时进行异步验证并恢复?
- sql-server - T-SQL:值按月份分组,如果一个月没有值,则该月份也应该出现并显示“NULL”
- mysql - SQL_CALC_FOUND_ROWS / select FOUND_ROWS() 是否受竞争条件的影响?