2016-04-13 2 views
-1

を使用して次の、または別の形でのGridViewでデータを表示するにはされています。フォーム2クラスがあるどのように一つの形式でデータを挿入し、Form1クラスC#

public partial class Form1 : Form 
{ 
    public static string passingtext; 
    public bool click = true; 
    public Form1() 
    { 
     InitializeComponent(); 
    } 
    Form2 form2; 
    private void button1_Click(object sender, EventArgs e) 
    { 
     form2.passThisValuetoDgv(textBox1.Text, textBox2.Text); // pass this value to form2 
    } 

    private void button2_Click(object sender, EventArgs e) 
    { 
     form2 = new Form2(this); 
     if (click) //to avoid open a multiple form... 
     { 
      form2.Show(); //i change from form2.Showdialog() so that you can make a data entry... 
      click = false; 
     } 

public partial class Form2 : Form 
{ 
    private Form1 form1; 

    public Form2(Form1 form2) 
    { 
     InitializeComponent(); 
     this.form1 = form2; 
    } 
    SqlConnection cn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\acE\documents\visual studio 2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Database1.mdf;Integrated Security=True;User Instance=True"); 
    DataTable dt; 
    public void AddGridViewRows(string id, string name) 
    { 
     dt = new DataTable(); 
    dt.Columns.Add("id"); 
    dt.Columns.Add("name"); 
    dataGridView1.DataSource = dt; 

    dt.Rows.Add(id); 
    dataGridView1.CurrentRow.Cells[1].Value = name; 

    } 

    private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) 
    { 

    } 
    public void disp_data() 
    { 
     cn.Open(); 

     DataTable dt = new DataTable(); 
     SqlDataAdapter da = new SqlDataAdapter(); 
     dataGridView1.DataSource = dt; 
     cn.Close(); 
    } 

    private void Form2_Load(object sender, EventArgs e) 
    { 

     dataGridView1.ColumnCount = 2; 
     dataGridView1.Columns[0].Name = "id"; 
     dataGridView1.Columns[1].Name = "name"; 
     disp_data(); 
    } 
    string[] row; 
    public void passThisValuetoDgv(string id, string name) 
    { 
     if (!string.IsNullOrEmpty(id) && !string.IsNullOrEmpty(name)) //if values are not null... 
     { 
      row = new string[] { id, name }; //new inserted row... 

     } 
    } 

    //handle this event so that you can still open this form after close... 


    public string passvalue { get; set; } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     form1.click = true; 
    } 
+1

をしない、あなたの質問に質問を追加してください。このエーテルを解決するために

。何が問題ですか?何が起こるのですか?何が起こるはずですか? –

+0

@JonnyHenlyそうではない - 新規ユーザー。 AcEm Kc、適切なタグであなたの質問にタグをつけてください** only ** – Ian

答えて

0

あなたの合格テキスト既に静的です。string text = Form1.passingtext;

また、Form1をForm2に渡して、Form1のpassingtextが静的​​であると判断した場合は、静的であることを示す名前を使用してアクセスできません。あなたがForm1で作ったオブジェクト。静的を削除し、私たちform1Object.passingtextまたは静的を維持し、Form2のにForm1に渡すとForm1.passingtext

+0

私はあなたがより詳細に提案することができます理解できません.... –

+0

私のコードでこのショーのエラーです。 –

+0

今日は休憩しますか –

関連する問題