Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > DataGrid


Автор: bms 24.12.2006, 23:05
Есть такой DataGrid

Код

<asp:DataGrid ID="Grid" AllowPaging="true" PageSize="5"
    AllowCustomPaging="false" AutoGenerateColumns="false" runat="server" >
                    <Columns>
                        <asp:TemplateColumn>
                            <ItemTemplate>
                                <table width="100%">
                                    <tr>
                                        <td width="100%">
                                            <%# Eval("ID") %>
                                         </td>
                                         <td width="100%">
                                            <%--здесь надо вывести текст--%>
                                        </td>
                                    </tr>
                                </table>
                            </ItemTemplate>
                        </asp:TemplateColumn>
                    </Columns>
</asp:DataGrid>


На PageLoad  я заполняю грид:
Код

DataTable q = ......;
Grid.DataSource = q;
Grid.DataBind();


В таблице из которой берутся данные есть поля типа bit. Как можно вывести в грид только те записи где значени равно true, но выводить не true, а какой-то нужный текст (в зависимости какое это поле)?????????

Автор: 6atoh 25.12.2006, 12:29
Я бы сделал так
Код

DataTable items = .....;  //указываем источник
DataView subItems = new DataView();
subItems.Table = items;
subItems.RowFilter = "TrueFalseColumn == true"; //выкинет строки в которых false
Grid.DataSource = subItems;
Grid.DataBind();


Цитата(bms @  24.12.2006,  22:05 Найти цитируемый пост)
но выводить не true, а какой-то нужный текст (в зависимости какое это поле)????????? 

Это уже надо с самим гридом работать после датабайнда.

Автор: Mymik 25.12.2006, 14:38
Цитата(6atoh @  25.12.2006,  12:29 Найти цитируемый пост)
Это уже надо с самим гридом работать после датабайнда.

достаточно просто в DataGrid написать
Код

<%# Convert.ToBoolean(Eval("ID")) ? ("<твой текст>" + "<еще какой-нибудь текст>") : "" %>

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