0

我有带有 SQL Server 后端的 ac# .net 应用程序。该应用程序根据条形码记录公司内的物品移动。用户将他们的项目与用户一起添加到软件中,每个用户都分配了一个条形码。该软件附带一个位于墙上的物品跟踪系统。系统跟踪钥匙,例如,有一块板有 100 个条形码钥匙,板上的每个位置编号为 1-100。在软件中,用户需要能够看到一个“虚拟物品板”,它显示了在虚拟板上布置的信息,一目了然地显示出哪个钥匙在,哪个钥匙在外面,谁有什么等。

用户在第一次安装软件时将他们使用的容量系统编程到软件中,因此软件随后知道他们使用的是 100 系统。我的问题是,如何动态创建表格或某种形式的布局来以类似网格的格式呈现这些数据?我已经使用 tablelayoutpanel 控件进行了研究,但它似乎没有做我需要的事情。我在 Form_Load 事件中有以下代码:

private void frmItemBoard_Load(object sender, EventArgs e)
{
    try
    {
        // table data linked to form controls (first 5)
        if (Properties.Settings.Default.systemsize == "5" || Properties.Settings.Default.systemsize == "5")
        {
            // load the layout for a 5 system
        }
        else if (Properties.Settings.Default.systemsize == "10")
        {
            // load the layout for a 10 system
        }
        else if (Properties.Settings.Default.systemsize == "25")
        {
            // load the layout for a 25 system
        }

        // etc.....
        // other system sizes can go here. The software needs to support at least up to 20,000 keys somehow
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.ToString(), ex.Message, MessageBoxButtons.OK, MessageBoxIcon.Error);
        return;
    }
}
4

1 回答 1

0

像这样的东西怎么样

int size = Properties.Settings.Default.systemsize;
int height = 0;
int width = 0;

//check our sizes
if (size == 5)
{
    height = 1;
    width = 5;   
else if (size == 10)
{
    height = 2;
    width = 5;
}
else if (size == 25)
{
    height = 5;
    width = 5;
}

//build a table
string table = "<table>";

for (int i = 1, i<=height,i++)
    {
    table += "<tr>"

    for (int j = 1, j<=width,i++)
        {
        table += "<td>"
        table += "some content"
        table += "</td>"
        }

    table += "</tr>"
    }

table += "</table>"

//write table to your page
于 2012-08-16T16:15:39.350 回答