RadPHP XEのListViewに項目を登録するときにListItemのSubItemsの数を間違えて登録すると、ListViewの選択行をPHP側で取得できなくなる。

RadPHP XEのListViewに項目を登録するときにListItemのSubItemsの数を間違えて登録すると、ListViewの選択行をPHP側で取得できなくなる。

RadPHP XEのListViewでは初期状態では表示されない”Index”という列がある。



この”Index”列には行のインデックスが登録されている。

ListViewの選択行をサーバーに送信するときは、この”Index”列の値が送られる。

RadPHP XEのListViewに項目を登録するときにListItemのSubItemsの数が列数よりも少ないと、”Index”の列を間違えてしまうようだ。

次のコードはListView1に行を追加している。
ListView1には3列あるが、このコードでは2列分の値しか設定していない。

function Button1Click($sender, $params)
{
  for ($i = 0; $i < 7; $i++)
  {
    $this->ListView1->AddItem('foo', array('bar'));
  }
}

そうすると、ListView1には次のように値が設定される。

“Index”の値が”項目3″列に入り、”Index”列は空になっている。

こうなると、ListView1の行を選択して送信しても、PHP側にはListView1の選択行の情報は送信されない。
(ListViewの選択行の”Index”列の値が送信されるが、その値は空だ。)

ListViewに項目を追加するときは、列数に気をつけよう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください