powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Подгрузка данных из базы данных в TemplateColumn созданной динамически в контроле DataGrig
3 сообщений из 3, страница 1 из 1
Подгрузка данных из базы данных в TemplateColumn созданной динамически в контроле DataGrig
    #37824933
Ankh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По воле судьбы нужно сделать DataGrid который выводят колонки типа TemplateColumn из списка заведенного в БД, т.е. добавляет их динамически.

Как добавить динамически разобрался, а как можно в такую TemplateColumn засунуть, например, ссылку, которая в своем URL будет содержать значения из базы данных? Ну или вообще, как связать программно созданную TemplateColumn с данными?

Что-то метод "google it" мне ничего полезного не дал.
...
Рейтинг: 0 / 0
Подгрузка данных из базы данных в TemplateColumn созданной динамически в контроле DataGrig
    #37825004
Ankh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот пример того, как добавляю динамически колонки:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
public class DataGridTemplateColumn : System.Web.UI.Page, ITemplate
{
    ListItemType templateType;
    string columnName;

    public DataGridTemplateColumn(ListItemType templateType, string columnName)
    {
        this.templateType = templateType;
        this.columnName = columnName;
    }

    public void InstantiateIn(System.Web.UI.Control container)
    {
        Literal lc = new Literal();
        CheckBox chkb = new CheckBox();
        //LinkButton lb = new LinkButton(); 

        switch (templateType)
        {
            case ListItemType.Header:
                lc.Text = "<B>" + columnName + "</B>";
                container.Controls.Add(chkb);
                container.Controls.Add(lc);
                break;
            case ListItemType.Item:
                chkb.ID = columnName;
                container.Controls.Add(chkb);
                container.Controls.Add(lc);
                break;
            case ListItemType.EditItem:
                TextBox tb = new TextBox();
                tb.Text = "";
                container.Controls.Add(tb);
                break;
            case ListItemType.Footer:
                lc.Text = "<I>" + columnName + "</I>";
                container.Controls.Add(lc);
                break;
        }
    }
}

TemplateColumn CreateTemplateColumn(string identifier, string headerText, string dataField, bool isSortable, int isVisible)
{
    TemplateColumn column = new TemplateColumn();

    column.HeaderTemplate = new DataGridTemplateColumn(ListItemType.Header, column.HeaderText);
    column.ItemTemplate = new DataGridTemplateColumn(ListItemType.Item, "Select1");

    return column;
}

protected void Page_Load(object sender, System.EventArgs e)
{
    dgInbox.Columns.Add(CreateTemplateColumn("namr", "Short Name", "short_name", true, 1));
}
...
Рейтинг: 0 / 0
Подгрузка данных из базы данных в TemplateColumn созданной динамически в контроле DataGrig
    #37825232
Ankh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот то же самое что могу прописать в колонке в aspx файле, только программно.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<asp:TemplateColumn>
    <HeaderTemplate>
        <asp:LinkButton Text="Отправитель" runat="server" CommandName="sender" ID="lbSender" CssClass="simple_link" Width="20">
        </asp:LinkButton>
        <img id="img_sender" runat="server">
    </HeaderTemplate>
    <ItemTemplate>
            <a href='view_mail.aspx?id=<%# ((System.Data.DataRowView)Container.DataItem)["ID"]%>'>
                    <% ((System.Data.DataRowView)Container.DataItem)["sender_name"] %>
            </a>                                                                                                                  
    </ItemTemplate>
</asp:TemplateColumn>
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Подгрузка данных из базы данных в TemplateColumn созданной динамически в контроле DataGrig
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]