DaatGrid событие ItemCreated
От: HiSH Россия http://m0riarty.ya.ru
Дата: 22.07.05 16:52
Оценка:
Добрый день!

Нужно получит грид, у которого в 1 колонке текстовые данные, во второй — комбобокс с данными, зависящими от первого столбца. Грид такой:

<asp:DataGrid id="accountGrid" CssClass="tableBack" runat="server" CellPadding="4" BorderWidth="1px"
    BorderStyle="None" BorderColor="#336699" AutoGenerateColumns="False" DataKeyField="ID">
    <AlternatingItemStyle BackColor="White"></AlternatingItemStyle>
    <ItemStyle CssClass="tableCell"></ItemStyle>
    <HeaderStyle CssClass="tableTitle"></HeaderStyle>
    <Columns>
        <asp:TemplateColumn>
            <HeaderStyle CssClass="tableTitle"></HeaderStyle>
            <ItemTemplate>
                <%# System.Web.HttpUtility.HtmlEncode(DataBinder.Eval(Container.DataItem, "Address").ToString()) %>
            </ItemTemplate>
        <asp:TemplateColumn>
            <ItemTemplate>
            </ItemTemplate>
        </asp:TemplateColumn>
    </Columns>
</asp:DataGrid>

То есть первая колонка — текст, вторая — пустая, в нее я добавляю динамически DropDownList. Событие OnItemCreated данного грида примерно такое:
private void accountGrid_ItemCreated(object sender, DataGridItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemTypeListItemType.AlternatingItem)
    {
            Message(e.Item.Cells[0].Text);
        //вытаскиваем из базы записи и добавляем в дропдаун
    }
}

В итоге мой Message() выводит пустую строку Пробовал на OnItemBound перекидывать код, то же самое. Не получается у меня получить данные из строки, которая добавляется. Как быть?
RE: DaatGrid событие ItemCreated
От: Аноним  
Дата: 22.07.05 19:31
Оценка: +1
См. коллекцуию Controls ячейки, конкретно в этом случае будет Controls[1] as Literal или as LiteralControl (точно не помню тип).

Раб, который обожает своего хозяина, уже не раб, а холуй.
В.И. Ульянов.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[2]: DaatGrid событие ItemCreated
От: HiSH Россия http://m0riarty.ya.ru
Дата: 25.07.05 13:48
Оценка:
Здравствуйте, Dimon aka Manowar, Вы писали:

DAM>См. коллекцуию Controls ячейки, конкретно в этом случае будет Controls[1] as Literal или as LiteralControl (точно не помню тип).

Я надеюсь имелось в виду Controls[0]? Нумерация колонок с нуля?

DAM>Раб, который обожает своего хозяина, уже не раб, а холуй.

DAM>В.И. Ульянов.

DAM>
данное сообщение получено с www.gotdotnet.ru

DAM>ссылка на оригинальное сообщение


Не выходит

Кстати, получается следующее:
   e.Item.Cells[0].Controls[0].Count == 0
   e.Items.Controls[0].Controls.Count == 0
   e.Items.Cells[0].COntrols[0] as LiteralControl - InvalidCast
   e.Items.Controls[0] as LiteralControl - InvalidCast
Re[3]: DaatGrid событие ItemCreated
От: mogadanez Чехия  
Дата: 25.07.05 14:01
Оценка:
Здравствуйте, HiSH, Вы писали:


HSH> Кстати, получается следующее:

HSH>
HSH>   e.Item.Cells[0].Controls[0].Count == 0
HSH>   e.Items.Controls[0].Controls.Count == 0
HSH>   e.Items.Cells[0].COntrols[0] as LiteralControl - InvalidCast
HSH>   e.Items.Controls[0] as LiteralControl - InvalidCast
HSH>


Берешь дебагер, и смотришь что там есть вообще.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[3]: DaatGrid событие ItemCreated
От: Аноним  
Дата: 25.07.05 14:16
Оценка:
Скорее всего, Cells[0] — столбец с индикатором (фокуса).


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.