Проблемы с radgrid

Я получаю несколько проблем с RadGrid. Во-первых, у меня есть GridClientSelectColumn в RadGrid. Я могу установить все флажки с помощью флажка заголовка, но не могу выбрать отдельные. Другое дело, когда я нажимаю на строку, я меняю цвет фона строки, но он не появляется полностью. Только половина ряда меняет цвет (см. изображение 1). Еще один — у меня есть RadMenu в шаблоне CommandItem. Который не отображается должным образом (см. изображение 2). Вот мой код.....

<telerik:RadGrid ID="gvPjtMnt" runat="server" AutoGenerateColumns="false" Height="600px"
BorderWidth="2px" BorderStyle="Solid" BackColor="White" AllowPaging="True" PagerStyle-AlwaysVisible="true"
PageSize="20" AllowSorting="True" OnNeedDataSource="gvPjtMnt_OnNeedDataSource"
AllowFilteringByColumn="true" OnItemCommand="gvPjtMnt_ItemCommand" OnItemCreated="gvPjtMnt_ItemCreated"
OnItemDataBound="gvPjtMnt_ItemDataBound" OnPreRender="gvPjtMnt_PreRender" AllowMultiRowSelection="true"
ClientSettings-Selecting-AllowRowSelect="true">
    <HeaderStyle Height="20px" BackColor="#004000" Font-Size="8pt" Font-Bold="True" ForeColor="White"
        HorizontalAlign="Center" BorderColor="White" BorderWidth="1px" />
    <AlternatingItemStyle BackColor="#F5F5E9" HorizontalAlign="Center" BorderColor="White" />
    <ItemStyle HorizontalAlign="Center" />
    <MasterTableView GridLines="None" DataKeyNames="ProjectId" CommandItemDisplay="Top">
        <CommandItemTemplate>
            <table style="width: 100%">
                <tr align="right">
                    <td style="width: 75%">
                        <telerik:RadMenu ID="RadMenu1" runat="server" EnableRoundedCorners="true" EnableShadows="true"
                            EnableAjaxSkinRendering="true">
                            <Items>
                                <telerik:RadMenuItem Text="Text" CssClass>
                                    <Items>
                                        <telerik:RadMenuItem ImageUrl="Images/comment-icon.png" Value="1" NavigateUrl="javascript:validateChkUpdate()"
                                            Text="Add Notes">
                                        </telerik:RadMenuItem>
                                        <telerik:RadMenuItem ImageUrl="Images/OrdUpdate.gif" Value="2" NavigateUrl="javascript:validateChkUpdate()"
                                            Text="Bulk Updates">
                                        </telerik:RadMenuItem>
                                    </Items>
                                </telerik:RadMenuItem>
                            </Items>
                        </telerik:RadMenu>
                    </td>
                    <td align="right">
                        <asp:LinkButton ID="lnkshwFilter" Text="ShowFilter" Font-Underline="true" ForeColor="MidnightBlue"
                            runat="server" OnClientClick="return showFilterItem()" />
                        <asp:LinkButton ID="lnkhdFilter" Text="HideFilter" Font-Underline="true" ForeColor="MidnightBlue"
                            runat="server" OnClientClick="return hideFilterItem()" />
                    </td>
                    <td align="right">
                        <asp:LinkButton ID="lnkclrFilter" Text="ClearFilter" Font-Underline="true" ForeColor="MidnightBlue"
                            runat="server" OnClick="lnkclrFilter_Click"></asp:LinkButton>
                    </td>
                    <td align="right">
                        Total Records found:&nbsp;<asp:Label ID="lblTotRecCount" runat="server" Font-Bold="True"
                            Font-Size="10pt" ForeColor="Black" Text="0"></asp:Label>
                    </td>
                    <td align="right" valign="middle">
                        <asp:ImageButton ID="lnkExportAll" ImageUrl="~/images/Excel.png" ToolTip="Export All"
                            runat="server" OnClick="ExportAll_Click" />
                    </td>
                    <td align="right" valign="middle">
                        <asp:ImageButton ID="ExportToExcelButton" runat="server" ImageUrl="~/images/ExportToExcel.gif"
                            ToolTip="Export to Excel" OnClick="ExportExcel_Click" />
                    </td>
                </tr>
            </table>
        </CommandItemTemplate>
        <Columns>
            <telerik:GridClientSelectColumn UniqueName="CheckboxSelectColumn" HeaderStyle-Width="3%">
            </telerik:GridClientSelectColumn>
            <telerik:GridBoundColumn DataField="ProjectId" UniqueName="ProjectId" Visible="false">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="LOB" DataField="LOB" UniqueName="LOB">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Division Name" DataField="Division" UniqueName="Division">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Region Name" DataField="MarketName" UniqueName="MarketName">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Project Name" DataField="ProjectName" UniqueName="ProjectName">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Project Manager Name" DataField="ProjectMgrName"
                UniqueName="ProjectMgrName">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Number Of Sites Received" DataField="NumSitesReceived"
                UniqueName="NumSitesReceived">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Accept Service Order Date" DataField="AcceptServiceOrderTaskCompleteDate"
                UniqueName="AcceptServiceOrderTaskCompleteDate" DataFormatString="{0:MM/dd/yyyy}">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="PTD" DataField="PTD" UniqueName="PTD" DataFormatString="{0:MM/dd/yyyy}">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Health Reason" DataField="HealthReason" UniqueName="HealthReason">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Project Health" DataField="ProjectHealth" UniqueName="ProjectHealth">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Customer Signed Date" DataField="CustomerSignedDate"
                UniqueName="CustomerSignedDate" DataFormatString="{0:MM/dd/yyyy}">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="OA Complete Date" DataField="OACompleteDate"
                UniqueName="OACompleteDate" DataFormatString="{0:MM/dd/yyyy}">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Customer Requested Due Date" DataField="CustomerRequestedDueDate"
                UniqueName="CustomerRequestedDueDate" DataFormatString="{0:MM/dd/yyyy}">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Last Note Added" DataField="LastNoteAdded" HeaderStyle-Width="10%"
                UniqueName="LastNoteAdded">
            </telerik:GridBoundColumn>
            <telerik:GridTemplateColumn UniqueName="EditRows" HeaderStyle-Width="2%" AllowFiltering="false">
                <ItemTemplate>
                    <asp:ImageButton runat="server" ID="EditPMTsk" CommandName="EditRow" ImageUrl="Images/edit-icon.png"
                        ImageAlign="Middle" ToolTip="Edit Task" />
                </ItemTemplate>
            </telerik:GridTemplateColumn>
        </Columns>
    </MasterTableView>
    <ClientSettings>
        <ClientEvents OnGridCreated="GridCreated" />
        <Scrolling AllowScroll="true" UseStaticHeaders="true" />
        <Resizing AllowColumnResize="true" EnableRealTimeResize="false" ResizeGridOnColumnResize="false"
            AllowRowResize="false" />
        <Selecting AllowRowSelect="true" />
    </ClientSettings>
</telerik:RadGrid>

.cs:

protected void gvPjtMnt_ItemDataBound(object sender, GridItemEventArgs e)
{
    if (e.Item is GridDataItem)
    {
        GridDataItem dataItem = e.Item as GridDataItem;
        TableCell myCell = dataItem["ProjectHealth"];
        myCell.Font.Size = 10;
        myCell.Font.Bold = true;

        if (myCell.Text.Trim() == "GREEN")
        {
            myCell.BackColor = System.Drawing.Color.Green;
            myCell.ForeColor = System.Drawing.Color.White;
        }
        if (myCell.Text.Trim() == "RED")
        {
            myCell.BackColor = System.Drawing.Color.Red;
            myCell.ForeColor = System.Drawing.Color.White;
        }
        if (myCell.Text.Trim() == "YELLOW")
        {
            myCell.BackColor = System.Drawing.Color.Yellow;
            myCell.ForeColor = System.Drawing.Color.Black;
        }
        if (myCell.Text.Trim() == "COMPLETE")
        {
            myCell.BackColor = System.Drawing.Color.Blue;
            myCell.ForeColor = System.Drawing.Color.White;
        }
    }

}

альтернативный текст

альтернативный текст


person Tronics    schedule 13.12.2010    source источник


Ответы (1)


Постараюсь быть максимально кратким:

  1. Как условно стилизовать строки сетки телерика — doc
  2. Столбец выбора флажка должен работать как для выбора всех, так и для выбора одного - проверьте, не препятствуют ли этому ошибки javascript на сайте.
  3. Я вижу, что у вас пустой атрибут CssClass для пункта корневого меню — может ли это испортить его отрисовку? Также проверьте, действительны ли URL-адреса изображений, которые вы установили для внутренних элементов.
person Dick Lampard    schedule 14.12.2010