有关DataGridView的问题

sorry_rr 2010-10-26 03:42:52
有一个form1和form2窗体,我在form1点击添加按钮弹出
form2,在from2填完信息后保存,添加的信息就显示在
form1的DataGridView里(我是重新绑定数据的)。请问该行如何获取焦点且显示在第一行?
...全文
123 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
birdmonster 2010-10-28
  • 打赏
  • 举报
回复
你觉得有什么不好的?可以探讨。
其实普遍方法就这两个我觉得
birdmonster 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 sorry_rr 的回复:]
引用 7 楼 xiliangxiliangxilian 的回复:
不要用委托了,直接把DataGridView作为引用在构造函数里传递过去。那边就可以直接操作了

我也曾经想过,不过感觉不太好。
能说一下这样做的优缺点吗?谢谢
[/Quote]
缺点我不是很清楚,反正都是内存地址,不过要是传的多了人就烦了,不如搞个委托封装起来走
优点就是比委托方便,直接,好控制
sorry_rr 2010-10-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xiliangxiliangxilian 的回复:]
不要用委托了,直接把DataGridView作为引用在构造函数里传递过去。那边就可以直接操作了
[/Quote]
我也曾经想过,不过感觉不太好。
能说一下这样做的优缺点吗?谢谢
birdmonster 2010-10-27
  • 打赏
  • 举报
回复
不要用委托了,直接把DataGridView作为引用在构造函数里传递过去。那边就可以直接操作了
ajq1989 2010-10-26
  • 打赏
  • 举报
回复
dbgComRukuList.Rows[dbgComRukuList.Rows.Count-1].Selected = true;
dbgComRukuList.FirstDisplayedScrollingRowIndex = dbgComRukuList.Rows.Count -
wuyq11 2010-10-26
  • 打赏
  • 举报
回复
一般通过委托添加
DataGridViewRow row = new DataGridViewRow();
row.Cells[0].Value =dt[""].ToString();
row.Cells[1].Value = dt[""].ToString();
this.dataGridView1.Rows.Add(row);

插入到第一行使用
this.dataGridView1.Rows.Insert(0, "");
wangluo_333 2010-10-26
  • 打赏
  • 举报
回复
你的问题,就是如何在Form2中调用Form1的方法。
Form1:
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}

public void SetFocus()
{
//你想做的工作、
MessageBox.Show("OK");
}

private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
frm.FrmMain = this;
frm.ShowDialog();
}
}
Form2:
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}

private MainForm frmMain = null;
/// <summary>
/// 设置主窗体句柄
/// </summary>
public MainForm FrmMain
{
set { this.frmMain = value; }
}

private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
this.Dispose();
this.frmMain.SetFocus();
}
}


sorry_rr 2010-10-26
  • 打赏
  • 举报
回复
我更新是通过委托来实现的
直接对form1的DataGridView进行操作?不懂
dai821 2010-10-26
  • 打赏
  • 举报
回复
单击form1按钮,弹出form2,将form1的传给form2,在form2中拿到对form1的引用,点击保存,直接对form1的DataGridView进行操作,跟新,第一行获得焦点,直接setfouces就好了
VS刚卸载了,没法给你写代码,自己写吧,大概思想就这样,就是拿到引用就能直接操作了, 自己写加深点理解

111,129

社区成员

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

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

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