2017-02-18 20 views
0

Я пытаюсь передать несколько значений из WinForm1 в WinForm2 (для выполнения New, Edit, View и т. Д.).C# Devexpress Как передать несколько значений из WinForm 1 в WinForm 2? (Для выполнения New, Edit, View и т. Д.)

WinFrom1 Имя: PayrollConfigNation

DataTable: tableMaster (связываются с gridView1)

Название столбца: NationalCode - NVARCHAR (20), NationalCountry - NVARCHAR (50), GovermentCode - NVARCHAR (50), Remakrs - NVARCHAR (50), Примечание - NTEXT, IsActive - d_Boolean (символ (1))

/// WinForm1 Code : PayrollConfigNation 
public partial class PayrollConfigNation : DevExpress.XtraEditors.XtraForm 
{ 
    private BCE.Data.DBSetting mydbset; 
    private DataTable tableMaster; 
    private DataSet loadData = new DataSet(); 
    public PayrollConfigNation(BCE.Data.DBSetting DBSet) 
    { 
     InitializeComponent(); 
     mydbset = DBSet; 
     ConfigureGridViewColumns(); // Define gridView1 column 
     InitializeGridViewControl(); 
     LoadDataFunction(); 
    } 
    .......... 
    private void btnNew_Click(object sender, EventArgs e) 
    { 
     PayrollBBNationalForm myForm2 = new PayrollBBNationalForm(); 
     myForm2.Show(); 
    } 

WinForm1 Layout : PayrollConfigNation Я хочу передать все WinForm1 (PayrollConfigNation) значение столбца строки (tableMaster) в WinForm2 (PayrollBBNationalForm), который является экраном подробных данных для выполнения функции Edit, View или даже New.

WinFrom2 Имя: PayrollBBNationalForm

/// WinFrom2 Code : PayrollBBNationalForm 
public partial class PayrollBBNationalForm : DevExpress.XtraEditors.XtraForm 
{ 
    private BCE.Data.DBSetting mydbset; 
    public PayrollBBNationalForm() 
    { 
     InitializeComponent(); 
    } 
} 

WinFrom2 Layout : PayrollBBNationalForm

Я застрял на этом уровне, я понятия не имею ли я должен код передать параметр DataSet/DataTable (tableMaster) или значение столбца строки фокусировки параметр. Я пробую несколько экспериментальных кодов, к сожалению, до сих пор не работает.

ответ

0

Мне удается передать параметр между WinForm1 и WinForm2.

Я все еще ищу, есть ли лучшее решение и лучше кодировать параметр (я все еще новичок в среде программирования C#)?

winFrom1 Код

int focusrow; 
    focusrow = gridView1.FocusedRowHandle; 
    PayrollBBNationalForm myForm2 = new PayrollBBNationalForm(tableMaster, gridView1, "New", focusrow); 

winForm2 Код

public PayrollBBNationalForm(DataTable tableMaster, GridView gridView1, String mode, int row) 
    { 
     InitializeComponent(); 
     tableMasterForm = tableMaster; 
     gridView1Form = gridView1; 
     modeForm = mode; 
     rowForm = row; 
    }