Отображение значений Gridview за пределами сетки в событии команды строки без использования индекса столбца

У меня есть сетка, в которой все столбцы связаны между собой и одно поле шаблона, которое является кнопкой ссылки.

При нажатии кнопки ссылки мне нужно отобразить значения столбца сетки на панели с текстовыми полями, флажками и т. д. Для этого я использую событие Row_Command.

например: textboxname.text= значение столбца имени сетки

Я бы не хотел использовать команду rows(0).cells(0). Вместо указания номера строки или ячейки я могу сделать это в событии Row_Command. Пожалуйста помоги!


person asn    schedule 17.05.2013    source источник
comment
textboxname.text= grid's name column value чего именно вы хотите? выбранное значение ячейки строки или выберите имя столбца строки (заголовок)?   -  person Satinder singh    schedule 18.05.2013


Ответы (1)


Я думаю, вам следует просто связать DetailsView с выбранным индексом GridView. Это позволит выполнить именно то, что вы пытаетесь сделать, без дополнительной работы.

Просто обработайте событие SelectedIndexChanged GridView и укажите источник данных DetailsView на идентификатор выбранной вами строки. Или, если вы используете SqlDataSource для DetailsView, вы можете просто использовать ControlParameter, указывающий на GridView.

Общий пример: у вас есть GridView, DetailsView, а DetailsView заполняется SqlDataSource. Затем вы просто настроили свой SqlDataSource так, чтобы он имел ControlParameter, связанный с selectedValue Gridview:

<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, вам необходимо обработать событие SelectedIndexChanged GridView, а затем привязать DetailsView (используя новое значение SelectedValue вашего GridView) к записи, которая вам нужна, используя любой процесс привязки данных, который вы хотите.

person Josh Darnell    schedule 17.05.2013
comment
@asn Рад, что смог помочь. К вашему сведению, если этот ответ решил вашу проблему, вы можете принять его, используя галочка. - person Josh Darnell; 19.05.2013