как получить параметры из определенного поля строки в gridView для поля шаблона в той же строке - PullRequest
0 голосов
/ 15 августа 2011

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

Я неЯ уверен, что это лучший способ сделать это. Я попытался добавить в gridView поле TemplateField, содержащее DetailView, и связать его с другим источником данных объекта, но я не знаю, как получить параметр из определенного поля в строке ((поле userID).

Любые предложения приветствуются ...

1 Ответ

1 голос
/ 15 августа 2011

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

<asp:GridView ID="GridView1" runat="server" DataKeyNames="UserID" OnRowDataBound="GridView1_RowDataBound">

И в коде:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    //get the data key
    int userID = (int)GridView1.DataKeys[e.Row.RowIndex]["UserID"];

    //get the nested details view control
    DetailsView dv = (DetailsView)e.Row.FindControl("DetailsView1");

    dv.DataSource = GetUserDetailsTable(userID); //your data source
    dv.DataBind();
}
...