Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.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# Datagrid不需要的滚动和值异常_C#_Forms_Winforms_Exception_Datagrid - Fatal编程技术网

C# Datagrid不需要的滚动和值异常

C# Datagrid不需要的滚动和值异常,c#,forms,winforms,exception,datagrid,C#,Forms,Winforms,Exception,Datagrid,我用我的函数从数据库中获取数据,没有问题。加载数据后,datagrid得到scroll(当我想在表单上显示6列中的2列时),当单击scroll时,我得到的错误称为: {“321”的值对“Value”无效。“Value”应介于 “最小值”和“最大值”。\r\n参数名称:值“} 我的代码显示为belove if (dataSet.Tables.Count > 0 && dataSet.Tables[0].Rows.Count > 0) {

我用我的函数从数据库中获取数据,没有问题。加载数据后,datagrid得到scroll(当我想在表单上显示6列中的2列时),当单击scroll时,我得到的错误称为:

{“321”的值对“Value”无效。“Value”应介于 “最小值”和“最大值”。\r\n参数名称:值“}

我的代码显示为belove

if (dataSet.Tables.Count > 0 && dataSet.Tables[0].Rows.Count > 0) {
                metroGridGrup.DataSource = dataSet.Tables[0].DefaultView;
                metroGridGrup.AllowUserToAddRows = false;
                metroGridGrup.AllowUserToDeleteRows = false;
                for (var index = 0; index < metroGridGrup.Columns.Count; index++) {
                    metroGridGrup.Columns[index].Visible = false;
                }

                metroGridGrup.PerformLayout();

                metroGridGrup.Columns[0].Visible = true;
                metroGridGrup.Columns[0].HeaderText = "code"
                metroGridGrup.Columns[1].Visible = true;
                metroGridGrup.Columns[1].HeaderText = "value";

                metroGridGrup.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;

            }
            else {
                metroGridGrup.DataSource = null;
                MetroMessageBox.Show(this, "blabla", "blabla", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
if(dataSet.Tables.Count>0&&dataSet.Tables[0].Rows.Count>0){
metroGridGrup.DataSource=dataSet.Tables[0].DefaultView;
metroGridGrup.AllowUserToAddress=false;
metroGridGrup.AllowUserToDeleteRows=false;
对于(var index=0;index

我要解决这个问题,您不应该将网格分配为null,如下所示。避免使用空赋值

metroGridGrup.DataSource = null;

我解决了这个问题,您不应该将网格分配为null,如下所示。避免使用空赋值

metroGridGrup.DataSource = null;

这些行没有错误。表单.showdialog()出现错误,它将用户带到(下一个表单)此屏幕。完成@mjwills,我希望这有帮助。请包括表单的所有源代码(cs文件和designer.cs文件)。不要调用
DataGridView
a
GridView
DataGrid
,反之亦然!!这是错误和混乱的,因为这些是不同的控件。总是用正确的名字来称呼事物!此外,您不希望将变量命名为与其类型完全相同的
dataSet
。例如,这些行上没有错误。表单.showdialog()出现错误,它将用户带到(下一个表单)此屏幕。完成@mjwills,我希望这有帮助。请包括表单的所有源代码(cs文件和designer.cs文件)。不要调用
DataGridView
a
GridView
DataGrid
,反之亦然!!这是错误和混乱的,因为这些是不同的控件。总是用正确的名字来称呼事物!此外,您也不希望变量的名称与其类型完全相同,例如
dataSet