既知の問題点と制限の概要
以下の表に、Infragistics® ASP.NET 2016.1 リリースの既知の問題と制限事項の概要を示します。以下の表は、すべての問題の詳細な説明とその回避策を示します。
- 回避策
- 既知の回避策はありません
- 修正予定です
WebDataGrid のドロップダウン プロバイダーは複数選択をサポートしません。これは WebDropDown エディターおよびグリッドの間で値を交換する間、すべての取得/設定の値処理は、単一セクションのみをターゲットとするためです。エディターに複数の選択した項目がある場合、エディター プロバイダーが破損し、結果が無効になります。
UnboundColumn + OnInitializeRow イベントが処理され、ページングおよび並べ替え機能が有効な場合に正しく動作しない場合があります。非バインドされるレコードが更新される前に Rows コレクションを並べ替えることなどの予期しない動作が起こり、例外が発生する場合があります。
セル値が DropDownProvider の現在のページに表示されない場合、テキストがグリッド セルから取得可能な場合も、ドロップダウン項目の値は表示されます。WebDataGrid がセルに表示されるコンテンツと異なる値にバインドされるため、この動作は正しいです。この問題の回避策は、初期読み込みでカスタム ロジックを実装することにより、指定した値でウェブ ドロップダウン データソースをクエリして、指定した列のセルの 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];
}
}
}
// これは例です。実際の使用はデータソース プロバイダーから抽出する必要があります。
string[] texts = new string[] {
"Beverages",
"Condiments",
"Confections",
"Dairy Products",
"Grains/Cereals",
"Meat/Poultry",
"Produce",
"Seafood"
};
RowEditTemplate が WebTextEditor を含み、行を追加するために手動的にそれを開いた場合、WebTextEditor の値は編集後にクリアされません。結果として、編集モードに入ると以前の値が保持されます。
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 ハンドラーの回避策は同じです。