我是新手~呵,小弟在这里问个问题:希望大家来解答..谢了!!说出自己的见解都有分!!
我建了个Form1,上面有个datagridview:      名字    年龄     性别
      张三    18       男
      李四    22       男
      王五    20       女
     
我想实现:双击“张三”那一行,就会出现个Form2,上面有两个button:A学习信息, B工作信息。如果你选A,就会在新的一个Form3上的datagridview上出现张三的学习信息,如果选B,就会出现张三的工作信息。
依次点李四,王五都是一样的效果。就是不管双击Form1 datagridview上面的哪一行,form2都要跳出来询问你选哪一个(我现在只考虑选A的情况),然后就会在Form3 的datagridview中出现对应的人的信息。相当于点一个Button要,都要出现Form3,但form3的datagridview上要显示不同的信息(因为有3个人)。PS:双击效果我实现了,怎样绑定他们的数据我会,FORM2和FORM3要循环也实现了,就只是,怎么每次点那一个BUTTON,而出现3次不同的信息?

解决方案 »

  1.   

    其实也不叫循环,只是我的Form3上的信息每次都改变,但总是用的这一个表。
      

  2.   

    Form3中你只要传入两个信息
    1. 姓名(最好使用具有唯一性的ID号)
    2. 信息类型:即学习信息或是工作信息if 住处类型=学习信息 then
       select * from 学习信息 where 姓名='姓名变量'
    else
       select * from 工作信息 where 姓名='姓名变量'
    end if然后把Form3中的DataGridView绑定到这个数据集就行了,不需要任何循环
      

  3.   

    那需要用全局变量吗?form1中的行数。
    form1,form2,form3 都要有联系,因为你点form1上的,form3上要显示东西,相当于form2起个连接作用而已~
      

  4.   

    需要有两个全局变量,
    1. 姓名(最好使用具有唯一性的ID号) 
    2. 信息类型:即学习信息或是工作信息 
    不需要记录form1中的行数,
    在form1中当点击某行记录时就对姓名全局变量赋值,在form2中对信息类型全局变量赋值
      

  5.   

    这不叫循环,是三种情况区别对待。
    1、既然,你实现了双击事件,就在双击事件中写上:Form2.Visible=True,同时计下双击的姓名:ID=名字(这个ID后面要用);
    2、Form2的操作:不管学习信息也好, 工作信息也好,最好都放在数据库中,然后根据ID,通过SQL语句Select查出来,并显示出来。这个应该不难。
      

  6.   

    把form1中的人员id记录下来
    在form3中根据form2中的不同选择重新检索即可
      

  7.   

    楼主用的应该是VB.NET吧,下面是VB.NET的代码Form1    Public strName As String
        Private curLine As Integer = -1    Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick        If e.RowIndex <> curLine Then
                strName = DataGridView1.Rows(e.RowIndex).Cells(0).Value
                Dim frm As New Form2
                frm.Show()
            End If
            curLine = e.RowIndex
        End Sub
    Form2    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim frm As New Form3
            frm.infoType = "A" '学习信息
            frm.Show()
        End Sub    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            Dim frm As New Form3
            frm.infoType = "B" '工作信息
            frm.Show()
        End Sub
    Form3    Private strName As String
        Public infoType As String = ""    Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Me.strName = Form1.strName
            If infoType = "A" Then        Else        End If
        End Sub