Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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# 向DB表中添加更多列时,如何让datagridview显示更改?_C#_.net_Sql_Visual Studio_Dataset - Fatal编程技术网

C# 向DB表中添加更多列时,如何让datagridview显示更改?

C# 向DB表中添加更多列时,如何让datagridview显示更改?,c#,.net,sql,visual-studio,dataset,C#,.net,Sql,Visual Studio,Dataset,我在visual studio中的一个项目中创建了一个数据集,该数据集指向数据库中的一个表 然后将datagridview控件绑定到它 现在,我打开数据库并向数据库中的表中添加另一列。 然后,我打开数据集并更新其配置以包含更改 然后我想更新datagridview,但无法添加新列。 我可以右键单击datagridview所在表单中的tableadapter,获得正确的表数据 如果我从表单中删除tableadapter、bindingsource和dataset实例,然后尝试重新绑定它,那么dat

我在visual studio中的一个项目中创建了一个数据集,该数据集指向数据库中的一个表 然后将datagridview控件绑定到它

现在,我打开数据库并向数据库中的表中添加另一列。 然后,我打开数据集并更新其配置以包含更改

然后我想更新datagridview,但无法添加新列。 我可以右键单击datagridview所在表单中的tableadapter,获得正确的表数据

如果我从表单中删除tableadapter、bindingsource和dataset实例,然后尝试重新绑定它,那么datagridview仍然不允许我添加新列

有人知道发生了什么吗? 我已经在几个项目中尝试过这个方法,包括VS2008和2010测试版,除了C tho之外,没有其他语言。 到目前为止,唯一的解决方案似乎是制作一个完全不同的数据集,但必须有更好的方法


提前感谢

按照以下步骤操作: 1.转到dataset并添加新列 2.转到databindingsource并修改查询。 3.转到datagridview并添加新列

我模拟了与您所说的相同的场景,它成功了。

如果将GridView AutoGeneratedColumn属性设置为tru,它将自动反映列,但如果将其设置为fasle,则必须在aspx页面中添加标记,如下图所示

我希望这对你有用

谢谢

在中的文件夹下 C:\Users\YOURUSERNAME\AppData\Local\Microsoft\VisualStudio\9.0\ProjectAssembly VisualStudio有大量用于快速参考的已编译内容。这些都是以一些散列方案命名的,因此我们无法判断哪一个是我们拙劣的表方案的编译设置。 1.我们先关闭VisualStudio我只是为了安全起见 2.删除ProjectAssembly文件夹中的所有文件夹。 3.再次打开Visual Studio 4.重建解决方案 5.现在,当我们向datagridview添加列时,我们得到了正确的值


唷!:D

您是否正在使用datagridview向导创建数据源?我通过向项目中添加数据集,然后从解决方案资源管理器中将所需的表拖动到该数据集中来创建数据源。因此,是的,我使用datagridview中的向导查找我的数据集,并选择该数据集中要绑定到的表。请尝试刷新架构选项。我找不到刷新架构选项。你认为这个选项在哪里?感谢回复:将DataSetBindingSource属性AllowNew设置为True我对步骤2有疑问。我觉得有点不清楚。修改数据绑定源到底是什么意思?我这样做了:1打开包含datagridview的表单。2右键单击tblTestTableAdapter test作为我的表并选择add query。3在生成器窗口中,我选择了替换和现有查询,并确保包含新列名,然后按ok。4.我可以在预览数据中看到数据,而不是右键单击我的datagridview和选定的编辑列。当我在那里按add column时,我看不到我新添加的列。我已经返回了您指示的步骤。这对我仍然不起作用。似乎VS正在datagridview或bindingsource中缓存表方案。但是,当我预览bindingsource的数据时,列已经改变了。感谢您抽出时间回答:不幸的是,我不是在aspx工作,我正在制作一个老式的程序。但我会尝试看看是否可以将AutoGeneratedColumn设置为false,构建我的解决方案,然后将其设置回原位,看看它是否可以这样更新定义。如果可以的话,我会在这里发布。在正常的应用程序开发中,你似乎无法做到这一点。你唯一能做的事情就是使用一个未绑定的列,这会否定整个事情的目的。或者,我发现有时候只是再次构建你的解决方案就可以了。欧欧欧
<asp:BoundField DataField="ColumnName" HeaderText="Header Text which you want to for table th " />