如何将窗体一中datagrid中选定行的内容提取至窗体二中的各文本框中显示.

glgzx 2005-08-15 11:01:11
如题
...全文
119 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovevsnet 2005-08-19
  • 打赏
  • 举报
回复
dataGrid1_MouseDown(...)
{
DataGrid.HitTestInfo hti=dataGrid1.HitTest(e.X,e.Y);
int i=hti.Row;
DataRow dr=ds.Tables["ds"].Row[i];
...
}
glgzx 2005-08-19
  • 打赏
  • 举报
回复
用doubleclick事件,实现双击datagrid来选定行,可是双击单元格无法触发事件,只能双击标题头才可以, 请高手解答呀
bwtlyzl123 2005-08-16
  • 打赏
  • 举报
回复
winform学习以下
ufrshchenw 2005-08-16
  • 打赏
  • 举报
回复
先把第二个窗体的构造函数重载一下,然后再把第一个窗体中,相对应的值作为参数传进去
张赐 2005-08-16
  • 打赏
  • 举报
回复
窗体1:
DataSet ds=(DataSet)this.DataGrid.DataSource;
int i=this.DataGrid.CurrentCell.RowNumber;
DataRow dr=ds.Tables["ds"].Row[i];
Form2 fr=new Form2(dr);

窗体2:
DataRow DR;
public Form1(DataRow dr;)
{
//
// Windows 窗体设计器支持所必需的
DR=dr;
InitializeComponent();

//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}

这样就把datarow传到窗体2了,下面就可以用了
比如:This.TextBox1.Text=DR["name"].Text;
lyb_abiandbel 2005-08-16
  • 打赏
  • 举报
回复
//当dataGrid1中选中的行变化时,触发该函数.
private void dataGrid1_CurrentCellChanged(object sender, System.EventArgs e)
{
//清空当前zsmx的信息
this.dataSet11.Tables["zsmx"].Clear();
//根据clch查询得到dataGrid2要显示的值
string s1=this.dataSet11.Tables["zslc"].Rows[this.dataGrid1.CurrentRowIndex]["clch"].ToString();
this.sqlSelectCommand2.Parameters["@clch"].Value=s1;
this.sqlDataAdapter2.Fill(this.dataSet11);
//重新绑定dataGrid2,这样才能适时更新
this.dataGrid2.SetDataBinding(this.dataSet11,"zsmx");
}

根据选中的datagrid1的行的查询显示在datagrid2中,

你的问题也可以用这样的办法来做的。
TechEye 2005-08-15
  • 打赏
  • 举报
回复
设,你的 dataGrid.DataSource = dataView;
那么 DataRowView dr = dataView[d.CurrentCell.RowNumber];
就是你选中的行,把dr作为参数传出去就好 了。
bitsbird 2005-08-15
  • 打赏
  • 举报
回复
DataGridTableStyle ts = dataGrid1.TableStyles["customers"];

DataGridTextBoxColumn cs = (DataGridTextBoxColumn)ts.GridColumnStyles[dataGrid1.CurrentCell.ColumnNumber];

MessageBox.Show("Selected: " + cs.TextBox.SelectedText);

glgzx 2005-08-15
  • 打赏
  • 举报
回复
WINDOWS应用程序不是asp.net
singlepine 2005-08-15
  • 打赏
  • 举报
回复
如果“窗体二中各文本框”不多,可以用参数的形式传递过来,如
b.aspx?id=1&name=2&type=3
如果“窗体二中各文本框”很多的话,传就不好了,可以只传递一个id过来,然后“窗体二”load时再去读一次数据库,然后显示

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧