-2

css と UI に関していくつか問題があります。a をクリックすると、button私の Web サイトにポストバックまたは検証があるdivsように見えます。すべてが完璧に構造化されているのが嫌いで、検証コントロールがそれを台無しにします。tablestdstr

例えば:

この2つの画像 画像1 画像2

APPLYボタンをクリックして検証を行う前と後。

ご覧のとおり、幅が変わります。

そのための私のコードはこれです:

<table>
                               <tr>
                                    <td style="width: 105px">
                                        <dx:ASPxLabel ID="lblAlarmGroup" runat="server" Text="<%$ Resources:Master, GroupnameText %>"
                                            CssClass="CamelCase" AssociatedControlID="cmbAlarmGroup">
                                        </dx:ASPxLabel>
                                        :
                                    </td>
                                    <td style="width: 155px">
                                        <dx:ASPxComboBox ID="cmbAlarmGroup" runat="server" ValueType="System.Int32" Width="150px"
                                            DataSourceID="sqlDSAlarmGroups" TextField="GroupName" ValidationSettings-RequiredField-IsRequired="true"
                                            ValueField="AlarmsListGroupsID" AutoPostBack="True" OnSelectedIndexChanged="cmbAlarmGroup_SelectedIndexChanged">
                                            <DisabledStyle BackColor="LightGray" ForeColor="Black" />
                                        </dx:ASPxComboBox>
                                    </td>
                                    <td style="width: 5px">
                                        &nbsp;
                                    </td>
                                    <td style="width: 105px">
                                        <dx:ASPxLabel ID="lblAlarm" runat="server" Text="<%$ Resources:Master, AlarmText %>"
                                            CssClass="CamelCase" AssociatedControlID="cmbAlarmsList">
                                        </dx:ASPxLabel>
                                        :
                                    </td>
                                    <td style="width: 155px">
                                        <dx:ASPxComboBox Width="150px" ID="cmbAlarmsList" runat="server" ValueType="System.Int32"
                                            AutoPostBack="True" OnSelectedIndexChanged="cmbAlarmsList_SelectedIndexChanged"
                                            TextField="value" ValueField="key" ValidationSettings-RequiredField-IsRequired="true">
                                            <DisabledStyle BackColor="LightGray" ForeColor="Black" />
                                        </dx:ASPxComboBox>
                                    </td>
                                </tr>
                                <tr>
                                    <td colspan="5" style="width: 525px">
                                        <hr />
                                    </td>
                                </tr>
                                <tr>
                                    <td style="width: 105px">
                                        <dx:ASPxLabel ID="lblSite" runat="server" Text="<%$ Resources:Master, SiteText %>"
                                            CssClass="CamelCase" AssociatedControlID="cmbSite">
                                        </dx:ASPxLabel>
                                        :
                                    </td>
                                    <td style="width: 155px">
                                        <dx:ASPxComboBox Width="150px" ID="cmbSite" runat="server" ValueType="System.Int32"
                                            OnSelectedIndexChanged="cmbSite_SelectedIndexChanged" TextField="value" ValueField="key"
                                            AutoPostBack="True">
                                            <DisabledStyle BackColor="LightGray" ForeColor="Black" />
                                        </dx:ASPxComboBox>
                                    </td>
                                    <td style="width: 5px">
                                        &nbsp;
                                    </td>
                                    <td style="width: 105px">
                                        <dx:ASPxLabel ID="lblDepartment" runat="server" Text="<%$ Resources:Master, DepartmentText %>"
                                            CssClass="CamelCase" AssociatedControlID="cmbDepartment">
                                        </dx:ASPxLabel>
                                        :
                                    </td>
                                    <td style="width: 155px">
                                        <dx:ASPxComboBox Width="150px" ID="cmbDepartment" runat="server" ValueType="System.Int32"
                                            TextField="value" ValueField="key" OnSelectedIndexChanged="cmbDepartment_SelectedIndexChanged"
                                            AutoPostBack="True">
                                            <DisabledStyle BackColor="LightGray" ForeColor="Black" />
                                        </dx:ASPxComboBox>
                                    </td>
                                </tr>
                                <tr>
                                    <td style="width: 105px">
                                        <dx:ASPxLabel ID="lblLine" runat="server" Text="<%$ Resources:Master, LineText %>"
                                            CssClass="CamelCase" AssociatedControlID="cmbLine">
                                        </dx:ASPxLabel>
                                        :
                                    </td>
                                    <td style="width: 155px">
                                        <dx:ASPxComboBox Width="150px" ID="cmbLine" runat="server" TextField="value" ValueField="key"
                                            ValueType="System.Int32" OnSelectedIndexChanged="cmbLine_SelectedIndexChanged"
                                            AutoPostBack="True">
                                            <DisabledStyle BackColor="LightGray" ForeColor="Black" />
                                        </dx:ASPxComboBox>
                                    </td>
                                    <td style="width: 5px">
                                        &nbsp;
                                    </td>
                                    <td style="width: 105px">
                                        <dx:ASPxLabel ID="lblOperation" runat="server" Text="<%$ Resources:Master, OperationText %>"
                                            CssClass="CamelCase" AssociatedControlID="cmbOperation">
                                        </dx:ASPxLabel>
                                        :
                                    </td>
                                    <td style="width: 155px">
                                        <dx:ASPxComboBox Width="150px" ID="cmbOperation" runat="server" ValueType="System.Int32"
                                            TextField="value" ValueField="key" OnSelectedIndexChanged="cmbOperation_SelectedIndexChanged"
                                            AutoPostBack="True">
                                            <DisabledStyle BackColor="LightGray" ForeColor="Black" />
                                        </dx:ASPxComboBox>
                                    </td>
                                </tr>
                                <tr>
                                    <td style="width: 105px">
                                        <dx:ASPxLabel ID="lblShift" runat="server" Text="<%$ Resources:Master, ShiftText %>"
                                            CssClass="CamelCase" AssociatedControlID="cmbShift">
                                        </dx:ASPxLabel>
                                        :
                                    </td>
                                    <td style="width: 155px">
                                        <dx:ASPxComboBox Width="150px" ID="cmbShift" runat="server" TextField="value" ValueField="key"
                                            ValueType="System.Int32" AutoPostBack="True">
                                            <DisabledStyle BackColor="LightGray" ForeColor="Black" />
                                        </dx:ASPxComboBox>
                                    </td>
                                    <td style="width: 5px">
                                        &nbsp;
                                    </td>
                                    <td style="width: 105px">
                                        <dx:ASPxLabel ID="lblStation" runat="server" Text="<%$ Resources:Master, StationText %>"
                                            CssClass="CamelCase" AssociatedControlID="cmbStation">
                                        </dx:ASPxLabel>
                                        :
                                    </td>
                                    <td style="width: 155px">
                                        <dx:ASPxComboBox Width="150px" ID="cmbStation" runat="server" TextField="value" ValueField="key"
                                            ValueType="System.Int32" AutoPostBack="True">
                                            <DisabledStyle BackColor="LightGray" ForeColor="Black" />
                                        </dx:ASPxComboBox>
                                    </td>
                                </tr>
                                <tr>
                                    <td colspan="5" style="width: 525px">
                                        <hr />
                                    </td>
                                </tr>
                                <tr>
                                    <td colspan="2" style="width: 260px">
                                        <dx:ASPxLabel ID="lblNoficationInterval" runat="server" Text="<%$ Resources:Master, NotificationSendIntervalText %>"
                                            AssociatedControlID="aspxseNotificationInterval">
                                        </dx:ASPxLabel>
                                        :
                                    </td>
                                    <td style="width: 5px">
                                        &nbsp;
                                    </td>
                                    <td colspan="2" style="width: 260px">
                                        <dx:ASPxSpinEdit ID="aspxseNotificationInterval" runat="server" Height="21px" Number="5"
                                            MaxValue="10000" MinValue="5">
                                        </dx:ASPxSpinEdit>
                                    </td>
                                </tr>
                                <tr>
                                    <td colspan="2" style="width: 260px">
                                        <dx:ASPxLabel ID="lblExcalationInterval" runat="server" Text="<%$ Resources:Master, EscalationSendIntervalText %>"
                                            AssociatedControlID="aspxseEscalationInterval">
                                        </dx:ASPxLabel>
                                        :
                                    </td>
                                    <td style="width: 5px">
                                        &nbsp;
                                    </td>
                                    <td colspan="2" style="width: 260px">
                                        <dx:ASPxSpinEdit ID="aspxseEscalationInterval" runat="server" Height="21px" Number="10"
                                            MaxValue="10000" MinValue="5">
                                        </dx:ASPxSpinEdit>
                                    </td>
                                </tr>
                            </table>

私はプロジェクト全体でこの問題を抱えていましたが、確かな解決策はありませんでした。これはあなたの誰かに起こりましたか?解決策は何ですか?CSS クラスを作成し、それらにすべてを割り当てますか? ありがとうございました

編集:

これらの 2 つのドロップダウンから検証を削除しましたが、それらに値を入力すると、画像で確認できることが発生します。そして、それはその場合にのみ発生します。選択したアイテムがその他の場合、その UI 障害は発生していません

画像 3 手がかりはありますか?

4

1 に答える 1

0

Dev Express コントロールを使用しているようです。ブラウザーの開発者ツールを使用して Dev Express コントロールからレンダリングされた HTML を調べると、実際には HTML の入力または選択がレンダリングされず、代わりに HTML の入力と選択が HTML テーブル内にネストされていることがわかります。

表では通常、入力コントロールを 1 つの列に配置し、検証エラー メッセージを別の列に配置します。Dev Express は、検証エラー メッセージの外観を変更できるプロパティを公開しますが、エラー メッセージのレンダリング方法 (テーブル列内) を変更することはできません。

1 つの解決策は、コントロールに ErrorDisplayMode="None" を設定することです。これにより、検証メッセージが非表示になります。次に、JavaScript を介して、コントロールの検証イベントを処理し、カスタム エラー メッセージを表示できます。

例えば:

<script type="text/javascript">
  function cmbStation_Validation(s, e) {
    alert(s.errorText);
  }
</script>

<dx:ASPxComboBox Width="150px" ID="cmbStation" runat="server" TextField="value" ValueField="key" ValueType="System.Int32" AutoPostBack="True">
  <DisabledStyle BackColor="LightGray" ForeColor="Black" />
  <ClientSideEvents Validation="cmbStation_Validation">
  <ValidationSettings ErrorDisplayMode="None">
  </ValidationSettings>
</dx:ASPxComboBox>
于 2013-06-18T13:47:13.900 に答える