有什么方法可以将GridView DataField值用作另一个DataSource的SELECT参数?

时间:2014-02-22 00:06:42

标签: c# asp.net sql webforms

有办法吗?在asp.net语法或C#中,使用GridView的DataField中的数据绑定值作为另一个数据源的SELECT参数?

我知道您可以根据控件的值使用Control Parameter和Select但是根据网格中特定DataField Value的值进行选择呢?

例如SELECT * FROM Table WERE X ='GridView Value'

1 个答案:

答案 0 :(得分:2)

GridView控件与任何其他Server-Control一样,具有您可以在ControlParameter中指定并使用其值的属性。

对于GridView控件,要使用的相关属性是DataField,每行可能有不同的值。

现在,如果您希望在“编辑”模式下工作时此DataField可以保持可编辑状态,请使用以下命令:

<SelectParameters>
<asp:ControlParameter Name="ProductID" Type="Int32" ControlID="yourOtherGridViewID" PropertyName="SelectedValue"></asp:ControlParameter>
</SelectParameters>

否则,请使用:

<SelectParameters>
<asp:ControlParameter Name="ProductID" Type="Int32" ControlID="yourOtherGridViewID" PropertyName="SelectedDataKey.Values('fieldname')"></asp:ControlParameter>
</SelectParameters>

请使用它,请注意将从GridView中的当前所选行检索这些值。

此外,您需要将ControlParameter需要在GridView控件中引用的每个字段添加到此引用的DataKeyNames中的GridView属性中

DataKeyNames="ProductID"