我正在为一家餐馆开发一个应用程序,我有一个关于在餐厅展示餐桌的问题。
我想将表格显示为4x4 HTML表格。
如果我执行查询SELECT Table_Name FROM Tables
并设置为gridview,则所有数据都显示在一行中,但我希望它显示为4x4表。
答案 0 :(得分:0)
构建视图(SQL Server)或查询(Access)或??? (????)使用UNION
返回多行SELECT Tab1, Tab2, Tab3, Tab4
UNION
SELECT Tab5, Tab6, Tab7, Tab8
etc.
或者您可以动态构建由您希望的网格布局驱动的相同SELECT语句。
答案 1 :(得分: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;