Witajcie:)
bawię się od pewnego czasu w .net i pojawił się następujący problem.
Mam bazę danych Zadanie, a w niej 3 tabele: Pracownik, Oddzial, Stanowisko.

W visual studio 2005 stworzyłem sobie GridView, który w postaci tabeli wyświetla dane z oddziału (id_oddzial, id_pracownika, oddzial).
Do tego dołożyłem 2 kolumny: Pracownik i Stanowisko, które w określonym wierszu mają wyświetlać rekordy właściwe dla danego id_pracownika (poprzez edit templates). I tutaj pojawia się problem, bo o ile dane z oddziału są wyświetlane to pracownika i stanowiska już nie.

Poniżej załączam kod. Ktoś pomoże?

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Strona1.aspx.cs" Inherits="Default3" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    &nbsp;<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="Id_oddzial"
        DataSourceID="SqlDataSource1">
        <Columns>
            <asp:BoundField DataField="Id_oddzial" HeaderText="Id_oddzial" ReadOnly="True" SortExpression="Id_oddzial" />
            <asp:BoundField DataField="Oddzial" HeaderText="Oddzial" SortExpression="Oddzial" />
            <asp:BoundField DataField="Id_pracownika" HeaderText="Id_pracownika" SortExpression="Id_pracownika" />
            <asp:TemplateField HeaderText="Pracowicy">
                <ItemTemplate>
                    <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" DataKeyNames="Id_pracownika"
                        DataSourceID="pracownicy">
                        <Columns>
                            <asp:BoundField DataField="Id_pracownika" HeaderText="Id_pracownika" ReadOnly="True"
                                SortExpression="Id_pracownika" />
                            <asp:BoundField DataField="Imie" HeaderText="Imie" SortExpression="Imie" />
                            <asp:BoundField DataField="Nazwisko" HeaderText="Nazwisko" SortExpression="Nazwisko" />
                        </Columns>
                    </asp:GridView>
                    <asp:SqlDataSource ID="pracownicy" runat="server" ConnectionString="<%$ ConnectionStrings:ZadanieConnectionString %>"
                        SelectCommand="SELECT [Id_pracownika], [Imie], [Nazwisko] FROM [Pracownik] WHERE ([Id_pracownika] = @Id_pracownika)">
                        <SelectParameters>
                            <asp:Parameter Name="Id_pracownika" Type="Int16"/>
                        </SelectParameters>
                    </asp:SqlDataSource>
                    &nbsp;
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Stanowisko">
                <ItemTemplate>
                    <asp:GridView ID="GridView3" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource3">
                        <Columns>
                            <asp:BoundField DataField="Stanowsko" HeaderText="Stanowsko" SortExpression="Stanowsko" />
                            <asp:BoundField DataField="Id_pracownika" HeaderText="Id_pracownika" SortExpression="Id_pracownika" />
                        </Columns>
                    </asp:GridView>
                    <asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:ZadanieConnectionString %>"
                        SelectCommand="SELECT [Stanowsko], [Id_pracownika] FROM [Stanowisko] WHERE ([Id_pracownika] = @Id_pracownika)">
                        <SelectParameters>
                            <asp:Parameter Name="Id_pracownika" Type="Int16" />
                        </SelectParameters>
                    </asp:SqlDataSource>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ZadanieConnectionString %>"
        SelectCommand="SELECT [Oddzial], [Id_oddzial], [Id_pracownika] FROM [Oddzial]"></asp:SqlDataSource>
</asp:Content>

Kod z aspx.cs


using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Default3 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            SqlDataSource s = (SqlDataSource)e.Row.FindControl("pracownicy");
            s.SelectParameters[0].DefaultValue = e.Row.Cells[0].Text;
        }
    }
    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {

    }
}