2

編集
以下の回答のいずれかで、テーブル内のレンダリングに関するこの問題を修正できました。ListViews 内でこの問題がまだ発生しています。ListView でこの CSS を試しましたが、問題は解決していません。

/* FIX FOR CALENDAR IN TABLE */
.DateTime_Edit
{
    white-space: nowrap;
}
.DateTime_Edit table
{
    border: solid 0 #FFFFFF;
    width: 0;
    height: 0;
    padding: 0;
    margin: 0;
}
.DateTime_Edit table tr td
{
    border: solid 0 #FFFFFF;
    padding: 0;
    margin: 0;
}
/* LISTVIEW, NOT WORKING */    
.DateTime_Edit table.listview
    {
        border: solid 0 #FFFFFF;
        width: 0;
        height: 0;
        padding: 0;
        margin: 0;  
    }
    .DateTime table.listview tr td
    {
        border: solid 0 #FFFFFF;
        padding: 0;
        margin: 0;  
    }


リストビューの
代替テキスト内 http://www.imageunload.com/public/15867/CSSIssue2.png?no_history テーブル内の
代替テキスト http://www.imageunload.com/public/15852/CSSIssue.jpg?no_history


フィールド テンプレートの定義:

<%@ Control Language="C#" CodeBehind="DateAjaxCalendar_Edit.ascx.cs" Inherits="WarehouseLogging.DateAjaxCalendar_EditField" %>
<div class="DateTime_Edit">
<asp:TextBox ID="TextBox1" runat="server" Text='<%# FieldValueEditString %>' CssClass="droplist"></asp:TextBox>
<asp:Image runat="Server" CssClass="CalendarIcon" ID="imgCalendar1" ImageUrl="~/Images/calendar.gif" />
<ajaxToolkit:CalendarExtender ID="CalendarExtender1" runat="server" PopupButtonID="imgCalendar1"
    TargetControlID="TextBox1" CssClass="custcal1">
</ajaxToolkit:CalendarExtender>
<ajaxToolkit:FilteredTextBoxExtender ID="fltrTextBox1" runat="server" TargetControlID="TextBox1"
    FilterType="Custom, Numbers" ValidChars="/">
</ajaxToolkit:FilteredTextBoxExtender>
<asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator1" CssClass="droplist"
    ControlToValidate="TextBox1" Display="Dynamic" Enabled="false" />
<asp:DynamicValidator runat="server" ID="DynamicValidator1" CssClass="droplist" ControlToValidate="TextBox1"
    Display="Dynamic" />
</div>
4

4 に答える 4

2

別の解決策は、これらのスタイルを別の名前付きスタイルでオーバーライドすることです。新しいスタイルは、.cssファイル自体の中で、上記のテーブルのスタイルの後に表示される必要があります。(cssの優先順位は、.cssファイルに表示される場所です...)そのコントロールに特定のスタイルを設定すると、他のスタイルが将来同じことを実行できなくなります。

このスタイルを作成し、Site.cssファイルの最後に配置して、「DateTime_Edit」FieldTemplateContorl全体をラップしました。

.DateTime_Edit
{
    white-space: nowrap !important;
}
.DateTime_Edit table
{
    border: solid 0 #FFFFFF !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}
.DateTime_Edit table tr td
{
    border: solid 0 #FFFFFF !important;
    background-color: #FFFFFF !important;
    padding: 0 !important;
    margin: 0 !important;
}

編集:「td」にbackground-colorを追加しました。すべてに!importantを追加しました(必要ない場合があります)

うまくいけば、デフォルトのSite.cssファイルは今後のリリースで更新されます。

于 2009-04-21T19:00:19.407 に答える
0

この問題の修正は、ここのDDプレビュープロジェクトにあり、 AjaxToolkitFixes.cssと呼ばれ、Webサイトのルートにあります。

サイトのルートにコピーして、Site.Masterファイルに参照を追加するだけです。

于 2009-04-22T08:29:19.850 に答える
0

この投稿を見ると、問題を解決する方法の手がかりが得られるかもしれません。ネストされた要素の CSS とオーバーライド スタイル

于 2009-04-21T21:39:07.963 に答える
0

編集2

こいつらが犯人だと思う

body.template table.listview th, table.gridview th, table.detailstable th, body.template table.listview td, table.gridview td, table.detailstable td
{
}

body.template table.listview td, table.gridview td, table.detailstable td
{
}

<td>クラス名 listview、detailstable、および gridview を使用して、テーブルの下のすべてに適用されるスタイルを指定します。問題は、それらがサブテーブルにも継承されることです

これらのスタイルの 2 番目のセットを作成してみてください。

table.listview td

table.listview td table td

適用されているスタイルの設定を解除します。Calendar Extender によって作成されたネストされたテーブルのスタイルをオーバーライドします

編集

わかりました。DynamicDataSite テーブルのスタイルシート全体を見ないとわかりませんが、そのテーブルの CSS が次を使用して指定されているかどうかを確認してください。

Table
{
   //...
}
TD
{
   //...
}

または、特定の .classnames または #Ids を使用する

前者の場合は、いくつかの CSS Gymnastics を実行して、ネストされたテーブルのスタイルをオーバーライドし、メイン テーブルに適用されたスタイルを元に戻す必要があります。例えば

//Top Level Tables
table td
{
    color: Red;
}

//Nested Tables
table td table td
{
    color: Blue
}

オリジナル

CalendarExtenderターゲット コントロールを含むテーブルの外側に配置してみてください。見た目では<td>、ピッカーの は親テーブルの CSS を継承しています。

于 2009-04-21T17:56:27.813 に答える