如何创建像HTML表格一样的DataGridView?

时间:2016-02-21 12:50:36

标签: c# winforms listview datagridview

我正在为一家餐馆开发一个应用程序,我有一个关于在餐厅展示餐桌的问题。

我想将表格显示为4x4 HTML表格。

如果我执行查询SELECT Table_Name FROM Tables并设置为gridview,则所有数据都显示在一行中,但我希望它显示为4x4表。

Gridview of the restaurant tables

2 个答案:

答案 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;