Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.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
Asp.net 在栅格视图中的行之间添加新行_Asp.net_Visual Studio 2010_C# 4.0_Datagridview - Fatal编程技术网

Asp.net 在栅格视图中的行之间添加新行

Asp.net 在栅格视图中的行之间添加新行,asp.net,visual-studio-2010,c#-4.0,datagridview,Asp.net,Visual Studio 2010,C# 4.0,Datagridview,我有一个ASP.net网格视图。它有一些模板列,如命令按钮、文本框和下拉控件。当我单击命令按钮时,需要在当前行下方插入一个新行(从我单击命令按钮的位置) 如果我有第1行和第2行,并且我点击了第1行中的命令按钮,则需要在第1行和第2行之间插入新行 现在在新行中,我应该能够从下拉列表中选择值,并在文本框中输入一些值,最后点击保存按钮。(这应该和我期望的一样好) 网格视图绑定到某个数据源,例如现在的datatable 我可以考虑的一种方法是,当单击命令按钮时,我可以在服务器端代码中向datatable

我有一个ASP.net网格视图。它有一些模板列,如命令按钮、文本框和下拉控件。当我单击命令按钮时,需要在当前行下方插入一个新行(从我单击命令按钮的位置)

如果我有第1行和第2行,并且我点击了第1行中的命令按钮,则需要在第1行和第2行之间插入新行

现在在新行中,我应该能够从下拉列表中选择值,并在文本框中输入一些值,最后点击保存按钮。(这应该和我期望的一样好)

网格视图绑定到某个数据源,例如现在的datatable

我可以考虑的一种方法是,当单击命令按钮时,我可以在服务器端代码中向datatable添加一个新行,并重新绑定网格。但我不确定,从UI的角度来看,如何确保新行正好位于我点击命令按钮的行的下方


有什么想法或意见吗?

您必须按照保存在不可见列中的虚拟索引对数据源进行排序。在第一次数据绑定时(可能由于ots排序功能而采用DataView),它将设置为原始行索引。在第一次点击save按钮之后,您再次从数据库中获取datatable,并在“selected”行之后添加带有索引的附加行。然后将GridView与排序后的DataView再次绑定


我认为您需要另一个不可见列来检测“临时”行。如果不需要编辑“普通”行,则可以使用edititemtemplate进行编辑。否则,您可以使下拉列表和文本框可见,而其他控件在中不可见。

我认为,如果您尝试在数据源中添加行,然后再次绑定到GridView,则更容易实现。如果您有数据集或自定义实体集合,这很容易。因为您使用的是DataTable,所以这也会起作用。处理click事件并查找用户单击的行。返回dataTable并在那里添加一个空行。这将确保GridView中的控件保持不变,您不必担心添加下拉控件等。

有一个用于在网格视图的行之间添加新行的控件。

我已经这样做了,但从UI的角度来看,添加的新行将位于网格的末尾。但是从UI的角度来看,我希望将新行添加到我按下命令按钮的下方的行中。这就是我要求在中间添加一行的原因