¿Cómo generar ООН управляют средствами управления GridView dinámicamente que contenga internos?

Requerimiento

El sistema en el que estoy trabajando tiene una tabla llamada área, la cual contiene los nombres de las áreas que posee una empresa:

Ejemplo:

  • Recursos Humanos
  • Contabilidad
  • Operaciones
  • Gerencia
  • Entre otras...

Управление El GridView que inicialmente había generado para mi pregunta предшествующий muestra la información de una sola área, pero ahora, se debe generar por cada área, управление ООН GridView.

Éste es el control GridView que debo generar por cada área.


   
       
           
               
           
       
       
           
               
           
        
       
           
               
           
        
    

Он intentado адаптер el código fuente de esta respuesta para generar el GridView, así Комо también он intentado:

  • Modificar la clase personalizada ITemplate параграф generar Лос средства управления en cada fila, pero никакой logro адаптер el código para que funcione подставляют mas de un control __.
  • Generar Лос средства управления en el evento RowDataBound
  • Intenté duplicar la estructura de un GridView otro pero parece que esto не es возможный.

Pero las pruebas anteriores не я muestran Лос GridView generados.

Довод "против" ¿Hay alguna manera en la que pueda generar Controles GridView una estructura, подобный а-ля indicada en esta pregunta?

0
задан 23.05.2017, 15:39
2 ответа

Если идея состоит в том, чтобы производить GridView динамических, ты мог бы помещать этот внутри contorl Repeater

В сдержись repeater ты определяешь gridview для того, чтобы был создан один каждой информацией, которая у тебя есть. Конечно ты будешь должен считать jerarquiza данных

Аддинг Гридвьев nested in Repeater in ASP.NET 2.0

краями определишь что-то, как, тебя

 <asp:Repeater ID="rpt" runat="server"
        onitemdatabound="rpt_ItemDataBound">
    <ItemTemplate>
        <asp:GridView ID="Grd" runat="server">            
        </asp:GridView>
    </ItemTemplate> 
</asp:Repeater> 

, пример - что-то простое, gridview внутри temaplate может быть тем, которого ты поместил в твой код определяя колонны.

ты Должен использовать событие ItemDataBound, чтобы распределять данные grid

protected void rpt_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
        GridView gv = (GridView)e.Item.FindControl("grd");
        if (gv != null)
        {
            DataRowView drv = (DataRowView)e.Item.DataItem;
            gv.DataSource = GetSubData(Convert.ToInt32(drv["ID"]));
            gv.DataBind();            
        }
    }
}

поэтому ты увидишь, что используются e.Item.DataItem, чтобы мочь загружать данные о каждой площади.

Из этой формы у тебя есть два уровня, первый будут площади и второй данными о каждой из этих.

1
ответ дан 03.12.2019, 22:58

Привет есть различные способы это делать, простой серьезный способ создавая gridviews из-за кода и для каждого gridview ты распределяешь ему Ваш соответствующий datasource (dataset или datatable...)

Ты Останавливаешь создавать 2 или более gridviews из-за кода есть ce так: Dim grid1, grid2 Эксперт Нев Гридвьев

, Чтобы распределять им такой datasource:

grid1. DataSource = DATASOURCE1 grid2. DataSource = DATASOURCE2

, и для того, чтобы грузить, и что ты смог видеть данные, ты не забыл сделать:

    grid1.DataBind()
    grid2.DataBind()
0
ответ дан 03.12.2019, 22:58