0

我有一个网格,其中所有列都是绑定字段和一个模板字段,这是一个链接按钮。

单击链接按钮时,我需要将网格列值显示到具有文本框、复选框等的面板中。我Row_Command为此使用了一个事件。

eg: textboxname.text= 网格名称列值

我不想使用rows(0).cells(0)命令。Row_Command我可以在事件中执行此操作,而不是指定行或单元格编号。请帮忙!

4

1 回答 1

0

我认为您应该将 DetailsView 链接到 GridView 的选定索引。这将完全完成您想要做的事情,而无需所有额外的工作。

只需处理 GridView 的 SelectedIndexChanged 事件,并将 DetailsView 的数据源指向您选择的行的 ID。或者,如果您为 DetailsView 使用 SqlDataSource,您可以只使用指向 GridView 的 ControlParameter。

一般示例:您有一个 GridView、一个 DetailsView,DetailsView 由 SqlDataSource 填充。然后,您只需将 SqlDataSource 设置为具有链接到 Gridview 的 selectedValue 的 ControlParameter:

<asp:GridView ID="yourGridView" runat="server" >
...
</asp:GridView>

<asp:DetailsView ID="yourDetailsview" runat="server" DataSourceID="detailsViewDataSource">
...
</asp:DetailsView>

<asp:SqlDataSource ID="detailsViewDataSource" runat="server" ConnectionString="Your connection string"
    SelectCommand="SELECT * FROM yourTable WHERE ID = @ID"
    <SelectParameters>
        <asp:ControlParameter Name="ID" ControlId="yourGridView" PropertyName="SelectedValue"/>
    </SelectParameters>
</asp:SqlDataSource>

如果您不使用 SqlDataSource,则需要处理 GridView 的 SelectedIndexChanged 事件,然后使用您想要的任何数据绑定过程将 DetailsView(使用 GridView 的新 SelectedValue)绑定到您需要的记录。

于 2013-05-17T18:18:01.537 回答