2017-08-02 17 views
0

私は2つのフォームとデータバインドされた各フォームに1つのdatagridviewを持っています。最初のフォーム(form1)にはチェックボックスの列があり、チェックされた行を2番目のフォーム(form2)に転送したいが、最初のdatagridviewからすべての列を転送したくない。データセットを扱っている。誰かが助けることができますか?1つのフォームから別のフォームへのdatagridviewのチェック値を転送するdatagridview

+1

ようこそ!あなたの質問を編集して[これまでに行ったコード](http://whathaveyoutried.com)を表示してください。問題を抱えているコードのアウトライン(ただし、好ましくは[mcve])を含める必要があります。次に、特定の問題を解決することができます。 [ask]も読んでください。 –

答えて

0

このコード

In this code 
1. FORM1 GridView Select the Row 
2. Checked In Checked Box 
3. Click button 
4. Show Gridview In Form2 

私のモデルクラス

public class Student 
{ 
    public int studentId { get; set; } 
    public String StudnetName { get; set; } 

} 

マイForm1のコード

public partial class Form1 : Form 
    { 
     List<Student> Students = new List<Student>(); 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 
      Student Stu = new Student(); 

      Stu.studentId = 1; 
      Stu.StudnetName = "Kasun"; 
      Students.Add(Stu); 

      Student Stu1 = new Student(); 

      Stu1.studentId = 2; 
      Stu1.StudnetName = "Kasunjith"; 
      Students.Add(Stu1); 

      Student Stu2 = new Student(); 

      Stu2.studentId = 3; 
      Stu2.StudnetName = "dsdsdsd"; 
      Students.Add(Stu2); 


      dataGridView1.DataSource = Students; 

     } 

     private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) 
     { 




     } 

     private void checkBox1_CheckedChanged(object sender, EventArgs e) 
     { 



     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      if (checkBox1.Checked == true) 
      { 
       int RowIndexCheck = dataGridView1.CurrentCell.RowIndex; 

       String id = dataGridView1.Rows[RowIndexCheck].Cells["studentId"].Value.ToString(); 
       String Name = dataGridView1.Rows[RowIndexCheck].Cells["StudnetName"].Value.ToString(); 

       Student studentsobj = new Student(); 
       studentsobj.studentId = Convert.ToInt32(id); 
       studentsobj.StudnetName = Name; 
       Form1 form1 = new Form1(); 

       Form2 form2 = new Form2(studentsobj); 
       form1.Hide(); 
       form2.Show(); 

      } 

     } 
    } 

Form1のUI enter image description here

私のForm2 Cを試してみてくださいスタックオーバーフローへ

小娘
public partial class Form2 : Form 
    { 
     List<Student> Studentslist = new List<Student>(); 
     public Form2(Student Stu) 
     { 
      InitializeComponent(); 
      Studentslist.Add(Stu); 
     } 






     private void Form2_Load(object sender, EventArgs e) 
     { 
      dataGridView1.DataSource = Studentslist; 
     } 
    } 

Form2のUI

enter image description here

+0

これはあなたがうまく動作すると思うが、私はunabound列であるdatagridviewのcheckboxcolumnを持っています。それを解決する方法。また、私は複数の値を渡したいと思います。 –

+0

私は答えようとします。 –

関連する問題