FlexGridの行には、通常の行(Rowオブジェクト)とノード(GroupRowオブジェクト)という2つの味があります。通常の行には「レベル」はありませんが、GroupRowオブジェクトにはノードのレベルを取得するために使用できる「レベル」プロパティがあります。
行の親ノードを取得するには、開始したノードよりも「レベル」の小さいノードが見つかるまで、グリッドの行コレクションをスキャンする必要があります。これは
// gets the parent row for a given FlexGrid row.
// returns the parent row or null if original row doesn't have a parent.
function getParentNode(row) {
// get row level
var startLevel = row instanceof(wijmo.grid.GroupRow) ? row.level : -1;
var startIndex = row.index;
// travel up to find parent node
for (var i = startIndex - 1; i >= 0; i--) {
var thisRow = row.grid.rows[i],
thisLevel = thisRow instanceof(wijmo.grid.GroupRow) ? thisRow.level : -1;
if (thisLevel > -1) {
if (startLevel == -1 || (startLevel > -1 && thisLevel < startLevel)) {
return thisRow;
}
}
}
// not found
return null;
};
希望:
http://jsfiddle.net/Wijmo5/8n2yde6f/
チェックアウト「GETPARENTNODE」メソッドの実装は、それはあなたが探しているものでなければなりません:
は、ここで示しているフィドルです有用。
私はあなたの質問に答えるために役立つでしょう –
私は行のクリックを検出するためにselectionChangedメソッドを使用しています..このメソッドは2つの引数を受け取ります - [sender、args] 送信者オブジェクトがノード全体に子があるかどうかを、行インデックス、階層のレベル、情報を取得することができるグリッド全体の詳細を取得しました。 これで、子ノードにはその識別が必要です親ノード。 –
編集されました。問題のコードを投稿しました。 @KhalidHussain .. –