2015-01-01 3 views
1

У меня есть GridView:Binding DbContext для GridView и отображения данных

<asp:GridView ID="ParentSelect" runat="server" AutoGenerateColumns="false" OnRowCommand="ParentSelect_RowCommand" OnRowCreated="ParentSelect_RowCreated" emptydatatext="Please Submit A Clip. C'mon dude." ShowHeaderWhenEmpty="true" HorizontalAlign="Center" Width="600" CssClass= "table table-striped table-bordered table-condensed"> 
    <HeaderStyle BorderColor="Black" /> 
    <Columns> 
     <asp:BoundField DataField ="dbContext.Mains.VideoUrl" HeaderText="Title" Visible="false" /> 
    </Columns> 
</asp:GridView> 

и я переплетен мой DbContext:

 protected void LoadGrid() 
    { 
     ParentSelect.DataSource = dbContext.Mains.ToList(); 
     ParentSelect.DataBind(); 
    } 

Как отобразить столбцы без имен столбцов, которые поступают из базы данных ,

Например, когда у меня были автогенераторы, установленные в «true», они отображали имена столбцов из базы данных, но вместо этого я хотел бы отображать те же данные в столбце с другим именем.

поэтому вместо VideoUrl (имя столбца db) Я хочу как-то замаскировать его, чтобы данные поступали из видеовстреча, но у него есть другое имя, например «URL».

Благодарим за помощь!

ответ

0

Вы можете справиться с этим на мероприятии RowDataBound

protected void ParentSelect_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.Header) 
    { 
     e.Row.Cells[2].Text = "URL"; 
    } 
}