Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.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
Vb.net 添加行时重新绑定gridview会增加重新绑定已绑定行的开销_Vb.net_Gridview_Rowdatabound - Fatal编程技术网

Vb.net 添加行时重新绑定gridview会增加重新绑定已绑定行的开销

Vb.net 添加行时重新绑定gridview会增加重新绑定已绑定行的开销,vb.net,gridview,rowdatabound,Vb.net,Gridview,Rowdatabound,我有一个包含DropDownList的GridView,我在RowBoundEvent中用DB查询填充DDL 网格的其余列是边界字段,它们从(对象)列表中填充 每次我向GridView添加新行时,我都必须再次查询DB以查找以前填充的DDL,这是我想要避免的,有什么建议吗 编辑:添加代码 <asp:BoundField DataField="getUserName" HeaderText="Name" /> <asp:BoundField DataField="getUser

我有一个包含DropDownList的GridView,我在RowBoundEvent中用DB查询填充DDL

网格的其余列是边界字段,它们从(对象)列表中填充

每次我向GridView添加新行时,我都必须再次查询DB以查找以前填充的DDL,这是我想要避免的,有什么建议吗

编辑:添加代码

 <asp:BoundField DataField="getUserName" HeaderText="Name" />
 <asp:BoundField DataField="getUserId" HeaderText="User ID" />
 <asp:TemplateField>
        <ItemTemplate>
              <asp:DropDownList ID="ddlRoles" runat="server" >
        </asp:DropDownList>
      </ItemTemplate>
 </asp:TemplateField>

  Grid_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles addUsersGrid.RowDataBound

  Dim ddl As DropDownList = TryCast(e.Row.FindControl("ddlRoles"), DropDownList)
  If ddl IsNot Nothing Then
     Dim sSQL As String = "SELECT ..."

     Dim rolesAdapter As OdbcDataAdapter = New OdbcDataAdapter(sSQL, ADOCon)
     rolesAdapter.Fill(dt)
    For Each dr As DataRow In dt.Rows

        ddl.Items.Add(dr("NAME").ToString())
        ddl.Items(iInt).Value = dr("ID").ToString
        iInt += 1
    Next
  end if

Grid_RowDataBound(ByVal sender作为对象,ByVal e作为System.Web.UI.WebControl.GridViewRowEventArgs)处理addUsersGrid.RowDataBound
Dim ddl As DropDownList=TryCast(例如,Row.FindControl(“ddl角色”),DropDownList)
如果ddl不是什么,那么
将sSQL设置为字符串=“选择…”
作为OdbcDataAdapter的Dim角色适配器=新的OdbcDataAdapter(sSQL、ADOCon)
角色自适应填充(dt)
对于dt.行中的每个dr As数据行
ddl.Items.Add(dr(“NAME”).ToString())
ddl.Items(iInt).Value=dr(“ID”).ToString
iInt+=1
下一个
如果结束

我想这是相关的代码。

有代码可以分享吗?“这样我们就可以了解你的情况了?”AltafSami在编辑中添加了代码。