Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Парочка вопросов по Grid'у


Автор: priest08 12.9.2011, 08:44
1. Есть грид. Одно из полей:
Код

                <asp:TemplateField HeaderText="Раствор">
                <ItemTemplate>                    
                    <dx:ASPxComboBox ID="_comboProduct" runat="server" Width="170px" AutoPostBack="true">
                    </dx:ASPxComboBox>
                    <asp:RequiredFieldValidator ID="_comboProduct_RequiredFieldValidator" runat="server" ErrorMessage="*"
                    ControlToValidate="_comboProduct" ForeColor="Red"/>
                </ItemTemplate>          
                </asp:TemplateField>

Во-первых, как задать длину колонки в гриде? Потому что где бы я не задавал Width (хидер, элемент грида и т.п.) - только длину самого контрола вложенного (комбобокса в данному случае) я и могу изменять. Длина же самой ячейки грида ни в какую меняться не хочет.
Второе: валидатор рисуется под комбобоксом внутри ячейки (а хотелось бы справа от него). В других колонках заголовок был длинный => сама колонка стала длинне и валидатор сам улез направо. В общем, как можно влиять на расположение контролов внутри колонки template в гриде?
2. http://81.200.222.7/Site/Record.aspx Это сделано на devexpresse. Внутрь элемента засунуты текстбоксы, кнопочки и т.п.; верстка - табличка=) Она и выпадает. Так же можно сделать и с колонкой грида и я примерно представляю, как. Но сам грид devx тормоз => хотелось бы от него уйти. Тем не менее конкретно это решение выглядит ничего. Кто-нибудь знает/видел такое же в стандартном студиовском гриде от МС? Т.е. одна из колонок в виде кнопки "расширенный вид"; при тычке на нее - маленькая табличка с нужным мне наполнением. Буду очень благодарен за любые ссылки по делу! Заранее спасибо за ответы.

Автор: Brilona 12.9.2011, 15:34
Такой вариант подойдет?

Код

        <asp:TemplateField HeaderText="Раствор">
            <ItemTemplate>
                <StackPanel Orientation="Horizontal">
                    <dx:ASPxComboBox ID="_comboProduct" runat="server" Width="170px" AutoPostBack="true"/>
                    <asp:RequiredFieldValidator ID="_comboProduct_RequiredFieldValidator" runat="server" ErrorMessage="*"
                                                                  ControlToValidate="_comboProduct" ForeColor="Red"/>
                </StackPanel>
            </ItemTemplate>
        </asp:TemplateField>


Т.е. два объекта будут идти друг за другом в StackPanel.


Или еще вариант:

Код

        <asp:TemplateField HeaderText="Раствор">
            <ItemTemplate>
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition/>
                        <ColumnDefinition/>
                    </Grid.ColumnDefinitions>
                    <Border Grid.Column="0">
                        <dx:ASPxComboBox ID="_comboProduct" runat="server" Width="170px" AutoPostBack="true"/>
                    </Border>
                    <Border Grid.Column="1">
                        <asp:RequiredFieldValidator ID="_comboProduct_RequiredFieldValidator" runat="server" ErrorMessage="*" ControlToValidate="_comboProduct" ForeColor="Red"/>
                    </Border>
                </Grid>
            </ItemTemplate>
        </asp:TemplateField>


"Букв" правда больше.

Автор: priest08 13.9.2011, 09:57
Brilona:
http://forum.vingrad.ru/forum/topic-299101/anchor-entry/0.html#entry
А второй вариант - я реально протупил( Действительно, даже просто <table> с 2-мя колонками и готово. Спасибо=)
P.S. Вопрос про МС'овский грид с выпадающим контролом с нужным наполнением остался)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)