2012-05-02 3 views
0

열에 데이터를 표시하는 DataGridview가 있습니다. 내가 달성하려고하는 것은 행을 선택하고 편집 버튼을 누르면 새 양식이 열리고 오른쪽 텍스트 상자의 행이 분할되어 데이터를 업데이트한다는 것입니다. ... 등 이름, 이메일, 날짜,다른 양식의 텍스트 상자에 데이터 행 datagridview 받기

어떤 생각 :

된 DataGridView 행은 서로 다른 데이터의 유형을 보여줍니다? 미리 감사드립니다.

+0

무엇이 정확하게 당신의 질문입니까? 이미 뭔가 시도해 봤어? – asdasdad

답변

2

이 사이트는 양식간에 데이터를 보내는 방법을 설명합니다. 데이터 그리드에서 올바른 셀을 선택하고 모든 정보 텍스트를 오른쪽 텍스트 상자에 보내는 것처럼 간단합니다. 그들을 돌려 보내. Data between forms

기본은 다음

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

당신은 단지 형태 사이에 데이터를 전달하는 방법을 호출 할 수 있습니다, 사용 가치를 얻을 수있는 방법을 만들 수 있습니다

this.Text = myForm2.getTextBoxValue(); 

그러나 당신은 셀의 값을 보낼 것이고, 메서드의 리턴 값과 같은 textbox.text를 만들 것입니다. 이것은 이론의 기본 예입니다. giev 그것은 당신이 원하는 것을 위해 작동하도록 시도합니다. 너는 그냥 할 수 없다면 다시 돌아온다. 코드를 사용해 도움을 청하고 병든 편집을 요청하십시오. 그러나 먼저 youve가 직접 시도한 후에 만 ​​

+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의 생성자.

관련 문제