Webフォームの1つにRadGridがあり、InPlace
(インライン)編集を使用しており、挿入用に下部に空の行があります。
グリッドが読み込まれると、JavaScript(私が想定している)を使用して、レンダリング後に列のサイズが自動的に変更されます(実際には、ページの読み込み時に調整された列を確認できます)が、列の入力は、列幅を調整しました。これにより、多くの空白が残ります。列のサイズを自動変更するJavaScriptメソッドにフックしようとしましたが、可能ではないようです。
jQueryを使用して、列のサイズが変更された後にすべての入力を検索し、列の幅に合わせてサイズを変更したいと思います。サイズを変更する必要がある入力はとだけです。幅を計算する必要はありません。コントロールの幅を100%に設定するだけで、列の使用可能なスペースがいっぱいになります。TextBoxes
DropDowns
編集
また、入力はマークアップで100%の幅に設定されていますが、列のサイズが変更されてもスケーリングされないことに注意してください。この動作は正しくないようです。
RadGridには、ClientSettings
多くのクライアント側イベントをサブスクライブできるセクションがありますが、グリッドの自動サイズ変更時にサイズ変更イベントは発生しません。ユーザーが手動で列のサイズを変更した場合のみ。
jQueryに精通している人の中には、これを行う方法についていくつかのアイデアを提案できますか?
RadGridのサンプルマークアップは次のとおりです。
<telerik:RadGrid ID="grdVendorAddresses" runat="server">
<MasterTableView AutoGenerateColumns="false" InsertItemDisplay="Bottom" EditMode="InPlace" DataKeyNames="AddressID, AddressTypeID, IsActive">
<ItemStyle Font-Size="12px" Font-Names="Verdana" Wrap="false" />
<HeaderStyle Font-Size="12px" Font-Names="Verdana" Wrap="false" />
<AlternatingItemStyle Font-Size="12px" Font-Names="Verdana" Wrap="false" />
<Columns>
<telerik:GridEditCommandColumn UniqueName="EditButton" ButtonType="ImageButton" EditImageUrl="/images/edit_icon_pencil.png" InsertImageUrl="/images/save_icon_small.png" UpdateImageUrl="/images/save_icon_small.png" CancelImageUrl="/images/cancel_icon.png">
<ItemStyle HorizontalAlign="Center" Width="60" />
</telerik:GridEditCommandColumn>
<telerik:GridTemplateColumn HeaderText="Address" DataField="StreetAddress" Resizable="false">
<ItemStyle HorizontalAlign="Left" />
<HeaderStyle HorizontalAlign="Left" />
<ItemTemplate>
<%#Eval("StreetAddress")%>
</ItemTemplate>
<EditItemTemplate>
<div style="padding:5px 0px 5px 0px;">
<telerik:RadTextBox ID="txtStreetAddress" runat="server" Skin="Sunset" Text='<%#Bind("StreetAddress")%>' Font-Size="12px" Font-Names="Verdana" Width="100%"></telerik:RadTextBox>
</div>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="City" DataField="City">
<ItemStyle HorizontalAlign="Left" />
<HeaderStyle HorizontalAlign="Left" />
<ItemTemplate>
<%#Eval("City")%>
</ItemTemplate>
<EditItemTemplate>
<div style="padding:5px 0px 5px 0px;">
<telerik:RadTextBox ID="txtCity" runat="server" Skin="Sunset" Text='<%#Bind("City")%>' Font-Size="12px" Font-Names="Verdana" Width="100%"></telerik:RadTextBox>
</div>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Country" DataField="CountryID">
<ItemStyle HorizontalAlign="Center" />
<HeaderStyle HorizontalAlign="Center" />
<ItemTemplate>
<%#Eval("CountryName")%>
</ItemTemplate>
<EditItemTemplate>
<div style="padding:5px 5px 5px 5px;">
<telerik:RadComboBox ID="ddlCountry" runat="server" Skin="Sunset" Font-Size="12px" Font-Names="Verdana" DataSourceID="ddsCountries" Height="200" DataTextField="CountryName" DataValueField="CountryID" Width="100%" SelectedValue='<%#Bind("CountryID")%>'></telerik:RadComboBox>
</div>
</EditItemTemplate>
</telerik:GridTemplateColumn>
</MasterTableView>
</telerik:RadGrid>