我在ASP.net 3.5頁面中有兩個GridView。我將HyperLink字段作爲First GridView中的一個字段。ASP.net中的父子Gridview
在這個超鏈接我需要調用通過傳遞某些值的方法showAllRecords(從超鏈接值)
如何做到這一點顯示第二網格的點擊?
感謝
我在ASP.net 3.5頁面中有兩個GridView。我將HyperLink字段作爲First GridView中的一個字段。ASP.net中的父子Gridview
在這個超鏈接我需要調用通過傳遞某些值的方法showAllRecords(從超鏈接值)
如何做到這一點顯示第二網格的點擊?
感謝
你可以嘗試一個TemplateField像這樣GridView1(主要GridView控件)
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton runat="server" ID="LinkButton1" CommandName="cmdName" CommandArgument='<%# Eval("IdColumn") %>' > LinkButton</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
和GridView1的RowCommand,你可以得到CommandArgument和設置GridView2(子GridView控件)的數據源。
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if(e.CommandName = "cmdName")
{
var arg = e.CommandArgument;
// use arg to filter GridView2's DataSource
GridView2.DataSource = FilteredDataSource;
GridView2.DataBind();
// show GridView2 if it's hidden.
}
}
首先,你需要在第一網格處理SelectedIndexChanged事件,然後得到超鏈接的價值。超鏈接是DataKey嗎?如果是,則通過GridOne.SelectedDataKey.Values["key"]
得到它,否則通過valuefromGridOne = GridOne.SelectedRow.Cells[num].Text
得到實際的小區,其中number是小區編號。一旦你有了它,你可以通過處理objectDataSource的選擇事件(假設你用它來綁定數據)並傳遞這個值來將值傳遞給你的第二個網格,像這樣e.InputParameters["dataKey"] = valuefromGridOne;