vb.net web应用程序gridview到gridview动态sql where子句

时间:2015-08-23 08:44:26

标签: sql-server vb.net gridview

我没有使用vb.net的经验。我的公司要求我开发一个vb.net Web应用程序。我在表单上有两个GridView。在Gridview1上,我从DB菜单表中获取数据

select menu_name, menu_sys 
from menu 
where menu_sys <> '00' 
  and menu_grp = '00' 
  and menu_category = '00'

这将获取GridView1中的数据并显示它。

我正在努力的部分是我想(鼠标)点击GridView1中的任何行选择行,获取menu_sys值并使用它作为where子句来检索GridView2的数据。

where子句类似于

select menu_name, menu_grp 
from menu 
where menu_sys = 'MY-SELECTED-MENU_SYS-VALUE' 
  and menu_grp <> '00' 
  and menu_category = '00'

我不知道如何在运行时向vb.net中的sql查询添加参数。我也不知道在代码隐藏中编写上述代码逻辑的位置(哪个事件)。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以处理SelectedIndexChanged事件。这是一个例子:

标记:

<as:GridView runat="server" Id="GridView1" 
     OnSelectedIndexChanged="GridView1_SelectedIndexChaned"  ...

代码背后:

protected void GridView1_SelectedIndexChaned(Object sender, GridViewSelectEventArgs e)
{
   // Get the currently selected row using the SelectedRow property.
   GridViewRow row = CustomersGridView.SelectedRow;
   var selectedId = row.Cells[1].Text; // assuming that the cell[1] has the id of the selected element

   //Now issue the second query and bind the data to the second grid:
   GridView2.DataSource = SomeMethodToGetTheDataUsingTheSelectedId(selectedId);
   GridView2.DataBind();
}

注意:不要打电话给你的网格&#34; GridView1&#34;和#34; GridView2&#34;,根据它们所持有的数据类型使用适当的名称。

修改

抱歉,我刚刚意识到您正在寻找一个VB.NET示例。看一下MSDN:https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.selectedindexchanged(v=vs.110).aspx