2012-05-02 24 views
0

私のデータを列に表示するdatagridviewがあります。 私が達成しようとしているのは、行を選択して編集ボタンを押すと、新しいフォームが開き、右のテキストボックスの行を分割してデータを更新するということです。他のフォームのテキストボックスにデータグリッドビューの行データを取得する

DataGridViewの行は、異なるタイプのデータを示しています。名前、電子メール、日付、等...

任意のアイデア? ありがとうございます!

+0

あなたの質問は何ですか?もう何か試しましたか? – asdasdad

答えて

2

このサイトでは、フォーム間でデータを送信する方法について説明します。これは、データグリッド内の右のセルを選択し、その情報を右のテキストボックスに送信するだけです。それらを送り返す。 Data between forms

基本は

public string getTextBoxValue() 
{ 
    return TextBox.Text; 
} 

その後、あなただけの

this.Text = myForm2.getTextBoxValue(); 

、フォーム間でデータを渡すために、メソッドを呼び出すことができ、値を取得するために使用することができますメソッドを作成しますしかし、あなたはセルの値を送信し、メソッドの戻り値と等しいtextbox.textを作成します これは理論の基本的な例です、gievそれを自分で試してみてください。あなたはちょうどそれが戻って来ることができない場合、行うにはコードを使ってヘルプや病気の編集を依頼してください。最初に自分自身を試してみてください。

+0

@sasibデータグリッドビューからデータを取得し、対応するテキストボックスに割り当てたい場合、テキストボックスデータを返す – Sadaf

+0

私はそれを行う方法の唯一の理論を説明しており、DataGridでそれを自分で試して、男は魚とそのすべて – RhysW

2

DataGridViewの列に対応するプロパティを持つMyDataCollectionというクラスを作成できます。編集ボタンを押すと、このクラスの新しいインスタンスを作成し、必要なデータを入力し、それをパラメータとしてEditFormのコンストラクタに渡します。メインフォームで

public class MyDataCollection 
{ 
    public string Name; 
    public string Email; 
    // -- 
} 

public partial class formEdit : Form 
{ 
    // Define a MyDataCollection object to work with in **this** form 
    MyDataCollection myData; 

    public formEdit(MyDataCollection mdc) 
    { 
     InitializeComponent(); 

     // Get the MyDataCollection instance sent as parameter 
     myData = mdc; 
    } 

    private void formEdit_Load(object sender, EventArgs e) 
    { 
     // and use it to show the data 
     textbox1.Text = myData.Name; 
     textbox2.Text = myData.Email; 
     // -- 
    } 
} 

ます。またMyDataCollectionクラスを忘れるとに全体DataGridViewRowを渡すことができます。

void btnEdit_Click(object sender, EventArgs e) 
{ 
    // Create the MyDataCollection instance and fill it with data from the DataGridView 
    MyDataCollection myData = new MyDataCollection(); 
    myData.Name = myDataGridView.CurrentRow.Cells["Name"].Value.ToString(); 
    myData.Email = myDataGridView.CurrentRow.Cells["Email"].Value.ToString(); 
    // -- 

    // Send the MyDataCollection instance to the EditForm 
    formEdit = new formEdit(myData); 
    formEdit.ShowDialog(this); 
} 

および編集フォームは次のようになります。 formEditのコンストラクタ

関連する問題