2014-03-14 39 views
-1

我正在爲我的WPF應用程序中的數據庫連接/操作創建單獨的DataAcessLayer。如何訪問從另一個函數傳遞的單獨的類中的DataGrid

我在類中創建單獨的函數,以便直接傳遞Datagrid並選擇查詢來綁定該數據網格。

它是由如下:

private void FillDataGrid(string sql, DataGrid grd) 
     { 
       SqlCommand cmd = new SqlCommand(sql, conn); 
       SqlDataAdapter sda = new SqlDataAdapter(cmd); 
       DataTable dt = new DataTable("Employee"); 
       sda.Fill(dt); 
     } 

我在這裏通過選擇查詢和數據網格從其他類如

FillDataGrid("select * from emp",grdEmp); 

但是,當我試圖綁定數據網格FillDataGrid功能我不發現:

grd.Itemsource在裏面。

我怎樣才能在功能訪問/綁定的DataGrid

+0

這是不是一個好的做法在數據層中使用數據網格。最佳選擇是將數據表傳遞到表示層並進行填充 –

回答

1

正如Prasanth VJ說,你可以這樣做:

public DataTable FillDataGrid(string sql) 
    { 
     var conn = new SqlConnection("Your connectionString"); 
     SqlCommand cmd = new SqlCommand(sql, conn); 
     SqlDataAdapter sda = new SqlDataAdapter(cmd); 
     DataTable dt = new DataTable("Employee"); 
     sda.Fill(dt); 
     return dt; 
    } 

然後:

YourDataGrid.ItemsSource = FillDataGrid("select * from emp").DefaultView; 
相關問題