我没有使用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查询添加参数。我也不知道在代码隐藏中编写上述代码逻辑的位置(哪个事件)。
非常感谢任何帮助。
答案 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