Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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# 添加行时GridView未刷新:尝试数据绑定()_C#_Linq_Linq To Sql_Gridview - Fatal编程技术网

C# 添加行时GridView未刷新:尝试数据绑定()

C# 添加行时GridView未刷新:尝试数据绑定(),c#,linq,linq-to-sql,gridview,C#,Linq,Linq To Sql,Gridview,我的页面中有一个GridView,但我没有通过GV添加我的行。添加通过文本框,然后将其显示到GV。现在的问题是,当我点击ADD按钮时,我的GV没有显示更新的行。如果我点击菜单栏上的那个页面,我的整个页面就会刷新,我可以看到更新的GV 下面是我的ADD_Click()事件的模型: 现在,当我添加记录时,GridView没有显示更新的记录。有人能告诉我发生了什么事吗 谢谢 您应该验证的第一件事是您的td对象具有您所期望的正确行数。GridView应该正确绑定到该对象,因此我的直觉是td中的结果缺少该

我的页面中有一个GridView,但我没有通过GV添加我的行。添加通过文本框,然后将其显示到GV。现在的问题是,当我点击ADD按钮时,我的GV没有显示更新的行。如果我点击菜单栏上的那个页面,我的整个页面就会刷新,我可以看到更新的GV

下面是我的ADD_Click()事件的模型:

现在,当我添加记录时,GridView没有显示更新的记录。有人能告诉我发生了什么事吗


谢谢

您应该验证的第一件事是您的
td
对象具有您所期望的正确行数。
GridView
应该正确绑定到该对象,因此我的直觉是
td
中的结果缺少该行

您如何“添加”行?您是否先将其保存到数据库,然后运行linq调用?从上面的代码来看,它看起来就像您调用了一些linq来获取结果,但是没有显示您添加了任何会导致结果与初始加载不同的内容

添加的伪代码应如下所示:

  • 将新行保存到数据库中
  • 获取新数据
  • 将新数据绑定到网格

  • 您还可以通过获取旧数据手动执行此操作。在绑定之前,将一行手动添加到旧数据(在您的示例中存储在
    td
    中),然后在手动将一行添加到linq结果后执行绑定。

    谢谢!这就像杰姆。我没有从td中选择正确的行:(
        protected void btnAdd_Click(object sender, EventArgs e)
        {
                            var td = from s in cv.Test1
                                     join r in dt.Test2 on s.ID equals r.ID
                                     where s.Col1 == ColumnName
                                     select s;
    
                            gvShowComm.DataSource = td;
                            gvShowComm.DataBind();
    
                        }
    
                        catch (Exception err)
                        {
                            //Nothing!!!
                        }
                }
    
                else
                {
                    MessageBox.Show("Please Enter Entry for the textboxes!");
                }
            }