2016-04-13 5 views
-1

form1 sınıftır:C# kullanarak bir sonraki veya başka bir formda GRIDVIEW bir biçimde veri ve görüntüleme verileri eklemek nasıl

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; 
     } 

formu 2 sınıftır:

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

Sorunuza soru ekleyin yapmak için. Sorun nedir? Ne oluyor? Ne olmalı? –

+0

@JonnyHenly muhtemelen yeni kullanıcı değil. AcEm Kc, Lütfen sorularınızı uygun etiketlerle etiketleyin ** sadece ** – Ian

cevap

0

geçerken metin Zaten statik, tüm yapmanız gereken string text = Form1.passingtext;

Ayrıca Form1'e Form2'ye geçiyorsunuz ve Form1'de passingtext algılayıcısını algılıyorsunuz; Form1'den yaptığınız nesne.

bu eter statik kaldırmak düzeltmek ve bize form1Object.passingtext Ya statik tutmak ve Form2 içine Form1 geçemiyor ve Form1.passingtext

+0

anlayamıyorum lütfen biraz daha detay verin .... –

+0

Lütfen kodun tamamı için kod yazabilirsin. Bugün bir ara verdiğimde –

+0

yapacak –

İlgili konular