Наборы данных, отношения родительских / дочерних таблиц и элементы управления Gridview - PullRequest
2 голосов
/ 14 июля 2009

У меня есть родительская таблица с именем Publication и дочерняя таблица с именем Owner. Эти две таблицы (данных) содержатся в наборе данных (это все вещи C #) и имеют определенные отношения. Одна публикация может иметь более одного владельца.

Я использую элемент управления GridView, и мой вопрос заключается в том, как получить информацию в дочерней таблице для отображения в элементе управления gridview? Вид сетки связан с основным набором данных.

Я прочитал информацию здесь, но раздражает то, что запись чего-либо в консоль не очень полезна!

http://msdn.microsoft.com/en-us/library/d6s958d6(VS.80).aspx

Спасибо, Р.

Ответы [ 2 ]

1 голос
/ 14 июля 2009

Желаете ли вы, чтобы дочерняя информация перезаписывала то, что находится в родительской сетке, отображалась как вложенные строки под родительской строкой или, проще всего, отображала другую сетку под этой сеткой, а затем при выборе строки родительской сетки заполнялась нижняя сетка с подмножеством информации?

Взгляните на http://www.asp.net/learn/data-access/tutorial-10-cs.aspx

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

UPDATE: Я полагаю, что эта статья с подробным кодом даст вам именно то, что вы ищете, хотя, возможно, есть более простой способ или более элегантное решение, это по крайней мере пока заставит вас работать.

http://www.aspboy.com/Categories/GridArticles/Hierarchical_GridView_With_Clickable_Rows.aspx

0 голосов
/ 14 июля 2009

Что ж, если вы хотите, чтобы оно было в том же виде сетки, вы должны отобразить его в столбце ... как насчет поля шаблона в коллекции столбцов, которое при привязке данных вызывает некоторый код, который ищет дочерние записи на основе идентификатора Публикация:

<Columns>

        <asp:TemplateField HeaderText="Description" SortExpression="Description">
            <ItemTemplate>
            <%# GetChildRowRepresentation((int)Eval("Id")) %>
            </ItemTemplate>
        </asp:TemplateField> 

</Columns>



protected string GetChildRowRepresentation(int id)
{
    //look up the data set, return the appropriate info
}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...