【发布时间】:2011-08-18 11:44:36
【问题描述】:
我这样做是为了将 gridview 行值从一个表单发送到另一个表单
我有 datagrid 视图,其中包含 productdescription 、 productimage 、 productname 列
我的主要目标是,如果我在 datagridview 中选择图像单元格,则选择所选图像,以及该图像所在行的值需要发送到另一个表单...
在下面的代码中,只有图像将被传输到另一个表单,我还需要发送另一个值...
我已经搜索了很多,但我没有找到任何解决方案..代码如下......
private void productGridview_Cellclick(object sender, DataGridViewCellEventArgs e)
{
byte[] bits = null;
Image img = null;
if (e.ColumnIndex != productgridview.Columns["productimage"].Index) return;
if (productgridview.SelectedCells.Count == 0) return;
bits = (byte[])productgridview.SelectedCells[0].Value;
img = bytearraytoimage(bits);
if (img is Image)
{
using (ProductDescriptionForm pf = new ProductDescriptionForm())
{
pf.picture = img;
pf.ShowDialog(this);
}
}
}
在产品描述形式中我已经这样定义了......
public partial class ProductDescriptionForm : Form
{
public ProductDescriptionForm()
{
InitializeComponent();
}
public Image picture
{
get { return pictureBox1.Image; }
set { pictureBox1.Image = value; }
}
}
如何将具有图像的同一行中的其他值传输到另一个表单
我正在使用 winforms....
提前非常感谢....
是否需要将单元格点击事件改为行点击事件??????
如果是这样,我如何在 datagridview 中检查带有图像的特定单元格
有什么建议对我有帮助吗
【问题讨论】:
-
有没有人能帮忙解决这个问题.....
-
你想达到什么目的?如果你想传输特定的单元格值,当用户点击它时,你需要 CellContentClick 或 CellClick (这就是你正在使用的),如果你想传输该行的所有值,你应该使用 CellClick 事件和然后是 e.RowIndex。请通过示例更具体地说明您想要实现的目标。
-
@marshal thanq 为您提供帮助,我得到了答案..请参阅我的答案 int selectedrowindex= productgridview.SelectedCells[0].RowIndex; DataGridViewRow selectedRow = productgridview.Rows[selectedrowindex]; string desc = Convert.ToString(selectedRow.Cells["productdescr"].Value);通过使用上述语句,我得到了值并转移到了另一种形式...
-
这听起来不像是一种非常面向对象的方法,我会一次又一次地说,DataGridView 是用于向用户显示信息而不是在大多数情况下进行操作。
标签: c# .net winforms datagridview