Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何根据C中的应用程序设置创建填充SQL数据的动态数据形式#_C#_Sql_Layout_Datagridview_Tablelayout - Fatal编程技术网

C# 如何根据C中的应用程序设置创建填充SQL数据的动态数据形式#

C# 如何根据C中的应用程序设置创建填充SQL数据的动态数据形式#,c#,sql,layout,datagridview,tablelayout,C#,Sql,Layout,Datagridview,Tablelayout,我有一个带有SQL Server后端的c#.net应用程序。该应用程序根据条形码记录公司内的物品移动。用户将他们的项目与用户一起添加到软件中,每个用户都指定了一个条形码。该软件随附于墙上的物品跟踪系统。系统跟踪钥匙。例如,有一块板上有100个条形码钥匙,板上的每个位置编号为1-100。在软件中,用户需要能够看到一个“虚拟项目板”,它显示虚拟板中的信息,从一眼就能看出哪个键在里面,哪个键在外面,谁有什么,等等 用户在第一次安装软件时将使用的系统容量编程到软件中,这样软件就知道他们使用的是100系统

我有一个带有SQL Server后端的c#.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;
    }
}

像这样的怎么样

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
int size=Properties.Settings.Default.systemsize;
整数高度=0;
整数宽度=0;
//检查一下我们的尺码
如果(大小==5)
{
高度=1;
宽度=5;
否则,如果(尺寸==10)
{
高度=2;
宽度=5;
}
否则,如果(尺寸==25)
{
高度=5;
宽度=5;
}
//建一张桌子
字符串表=”;

对于(int i=1,我想补充一点,在这个网格布局中,我需要有一些按钮,允许最终用户按下以允许快速签出或签入或项目。不能解决问题的小提示:
MessageBox.Show(例如Message)
隐藏了异常中的大部分可用信息。您最好显示
ex.ToString()
ex.Message
可能更适合标题栏。非常好的一点,我会确保包括这一点,可能还需要执行ex.StackTrace,将其保存在日志文件或其他文件中,这对调试非常有用:)另外,如果它说systemsize1==25,那么它应该是systemsize==25,对不起,我的输入错误
ex.ToString()
包括所有内容,包括堆栈跟踪。仅供参考,您可以编辑您的问题以更正键入错误。感谢您为web提供的解决方案,我已经在web界面中创建了布局,并为用户提供了另一种连接到我们产品的方式,我已经使用flowlayoutpanel找到了winforms的解决方案:)