以下の表に、Infragistics® ASP.NET 2014.2 リリースの既知の問題と制限事項の概要を示します。以下の表は、すべての問題の詳細な説明とその回避策を示します。
- 回避策
- 既知の回避策はありません
- 修正予定です
WebDataGrid のドロップダウン プロバイダーは複数選択をサポートしません。WebDropDown エディターおよびグリッドの間に値を送信する値の取得/設定操作は単一選択のみがサポートされます。エディターに複数の選択した項目がある場合、エディター プロバイダーが破損し、結果が無効になります。
UnboundColumn + OnInitializeRow イベントが処理され、ページングおよび並べ替え機能が有効な場合に正しく動作しない可能性があります。非バインドされるレコードが更新される前に Rows コレクションを並べ替えることなどの予期しない動作が起こり、例外が発生する場合があります。
セル値が DropDownProvider の現在のページに表示されない場合、テキストがグリッド セルから取得可能な場合でも、ドロップダウン項目の値は表示されます。 WebDataGrid がセルに表示されるコンテンツと異なる値にバインドされるため、この動作は正しいです。
この問題の回避策は、初期読み込みで行の初期化を処理し、指定の値で WebDropDown のデータ ソースをクエリすることによって指定の列のセルの Text プロパティを設定するカスタム ロジックを実装することです。以下のコードは実装の例です。
ASPX の場合:
<EditorProviders>
<ig:DropDownProvider ID="ddp1">
<EditorControl
ClientIDMode="Predictable"
EnableAutoFiltering="Server"
AutoFilterResultSize="2"
AutoFilterTimeoutMs="1000"
EnableAnimations="
EnablePaging="true"
PageSize="4"
AutoFilterQueryType="Contains"
DataSourceID="SqlDataSource2"
DropDownContainerMaxHeight="200px">
<DropDownItemBinding TextField="CAtegoryName" ValueField="CategoryID" />
</EditorControl>
</ig:DropDownProvider>
</EditorProviders>
回避策:
ASPX の場合:
<ig:WebDataGrid AutoGenerateColumns=" ID="WebDataGrid1" runat="server" OnInitializeRow="WebDataGrid1_InitializeRow">
C# の場合:
protected void WebDataGrid1_InitializeRow(object sender, RowEventArgs e)
{
if (!this.Page.IsPostBack)
{
if (e.Row.Index < 8)
{
e.Row.Items[3].Text = texts[e.Row.Index];
}
}
}
// This is only an example. Actual usage would have to extract these from a data source provider.
string[] texts = new string[] {
"Beverages",
"Condiments",
"Confections",
"Dairy Products",
"Grains/Cereals",
"Meat/Poultry",
"Produce",
"Seafood"
};
RowEditTemplate が WebTextEditors を含み、行を追加するために手動的に開いた場合、 WebTextEditors の値は編集の後にクリアされません。結果的として編集モードに入る場合に、以前の値は保持されます。
In C#:
protected void Page_PreRender(object sender, EventArgs e)
{
var templateContainer= this.WebDataGrid.Behaviors.EditingCore.Behaviors.RowEditTemplate.TemplateContainer;
WebTextEditor editor =(WebTextEditor)templateContainer.FindControl( "control_Item");
editor.Value = null;
}
HierarchicalDataGrid の行は Firefox で深さが200 レベル以上の場合は描画されません。このブラウザーの DOM レベルの制限のためです。この制限は Firefox で ここにログされます。
この問題を処理する複数の方法があります。ツールボックスを使用しないでコントロールを追加し、手動的に HTTP ハンドラーとモジュールを追加できます。デザイナーでコントロールをドロップするには、モジュールを system.WebServer -> modules セクションに変更できます。または、エラー メッセージの命令によりコマンド ラインで AppCmd を使用してアプリケーションを移行できます。
WebCaptcha コントロールの HTTP ハンドラーの回避策は同じです。