2017-01-17 29 views
0

私は、データグリッドビューを持つ請求フォームを持っています。このフォームには、最後の請求書更新ボタンが含まれており、請求書番号を入力するための新しいウィンドウが開きます。私は、請求番号に基づいて値を取得し、それを別の形式で表示したいと考えています。あるフォームのテーブル値を別のフォームのデータグリッドビューに渡すにはどうしたらいいですか?フォームデータを別のフォームのデータグリッドビューに渡す

SqlConnection con = new SqlConnection(CS); 
        con.Open(); 
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM POS WHERE [email protected]", con); 
da.SelectCommand.Parameters.AddWithValue("@Billno", txt_EnterBillNoPOS.Text); 

この結果を保存し、別のフォームのデータグリッドビューに表示したいとします。

+0

関連するコードは、あなたを助けるのに最も役立ちます。 – Ian

+0

私はコードを更新しました。 – Abhijith

+0

基本的には、ターゲットフォームにパブリックプロパティを設定し、それをメイン/呼び出し元フォームからデータテーブルに割り当てることでこれを行うことができます。しかし、それ以上の詳細がなければ、それが間違っているところを正確に指摘するのは難しいです。 – Ian

答えて

0

私はあなたの質問を正しい方法で理解していれば、あなたは自分のメインフォームからあなたのメインフォームにデータを移送したいと思っています。この目的のために、たとえばchildformのプロパティを使用することができます(可能な解決策はたくさんあります)。これはsthに見えるだろう。このように:

//Your third Form filled with billdata from second Form. 
public class ThirdForm : Form 
{  
    public ThirdForm(DataTable billData) 
    { 
     InitializeComponent(); 
     yourGrid.DataSource = billData; 
    } 
} 

//Your secondform fetch the data and start the thirdform 
public class SecondForm : Form 
{   
    private void OnUpdateButton_Clicked(object sender, EventArgs e) 
    { 
     SqlConnection con = new SqlConnection(CS); 
           con.Open(); 
     SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM POS WHERE [email protected]", con); 
     da.SelectCommand.Parameters.AddWithValue("@Billno", txt_EnterBillNoPOS.Text); 

     DataTable result = new DataTable(); 
     da.Fill(result); //Fill your Table with data 

     //Here you pass the data via Constructor 
     var thirdForm = new ThirdForm(result); 
     thirdForm.Show(); 
    } 
} 

//The firstform which starts your flow by activating secondform 
public class FirstForm : Form 
{ 
    private void OnUpdateLastButton_Clicked(object sender, EventArgs e) 
    { 
     var childForm = new SecondForm(); 
     childForm.Show(); //Shows the second form 
    } 
} 

これはあなたに役立つでしょう。

+0

これはちょうど2つの形式です。私の問題は..私はdatagridviewとフォームがあります。テキストボックスと更新ボタンを備えた別のフォーム。私はテキストボックスで請求番号を取得したいと私は私がデータベースから請求番号に基づいて値をフェッチし、別のフォームdatagridviewで表示する更新を押してください。 – Abhijith

+0

@Abhijith「別の形式」とは、第3または第4の形式を意味しますか? – Sebi

+0

には3つの形式があります。最初のフォームには販売時点情報が含まれています。私は最後の請求済みの販売を更新するボタンを追加しました。私は請求書番号を取得するために2番目のフォームを追加しました。更新ボタンが含まれています。もう1つ、グリッドビューを含む3番目のフォームがあります。 2番目のフォームに請求番号を入力して更新を押すと、2番目のフォームの請求番号に基づく詳細が3番目のフォームのdatagridvirewに表示されます。その私の考え。あなたはそれを得たと思う。 – Abhijith

関連する問題