2016-02-21 37 views
0

我正在開發一家餐廳的應用程序,我有一個關於在餐廳中顯示錶格的問題。如何創建一個像HTML表格一樣的DataGridView?

我想將表格顯示爲4x4的HTML表格。

如果我執行查詢SELECT Table_Name FROM Tables並設置爲gridview,所有數據顯示在一行中,但我希望它顯示爲4x4表。

Gridview of the restaurant tables

+0

當你從工具箱想只要把儘可能多的GridView的是你想要的嗎? –

+0

我建議你更好地解釋你的問題並分享你的代碼,這樣我們可以有效地幫助你。 – apollo

+0

我沒有關於檢索數據到gridview的問題。沒關係。但是,當列的數量大於4時,我想要中斷數據並添加新行。例如,如果我們在數據庫的表中有6個數據; data1 data2 data3 data4 data5 data6 –

回答

0

構建視圖(SQL服務器)或查詢(訪問)或??? (????)返回使用UNION

SELECT Tab1, Tab2, Tab3, Tab4 
UNION 
SELECT Tab5, Tab6, Tab7, Tab8 
etc. 

多行或者你可以動態地構建由你想要的網格佈局驅動的相同SELECT語句。

0

什麼:

var collection = new[] { "tbl1", "tbl2", "tbl3", "tbl4", "tbl5", "tbl6", "tbl7", "tbl8", "tbl9", "tbl10", "tbl11" }; 
      var dt = new DataTable(); 
      dt.Columns.Add("col1"); 
      dt.Columns.Add("col2"); 
      dt.Columns.Add("col3"); 
      dt.Columns.Add("col4"); 

      // Create the grid 
      var countRows = Math.Ceiling((float)collection.Count()/dt.Columns.Count); 
      for (var i = 0; i < countRows; i++) 
       dt.Rows.Add(dt.NewRow()); 

      // Fill the grid 
      var countRow = 0; 
      var countColumn = 0; 
      foreach (var charachter in collection) 
      { 
       dt.Rows[countRow][countColumn] = charachter; 
       countColumn++; 

       if (countColumn == 4) 
       { 
        countRow++; 
        countColumn = 0; 
       } 
      } 

      dataGridView1.DataSource = dt; 
相關問題