2012-05-03 4 views
2

gridtemplatecolumnのフッターテンプレートにあるラベル(lblTotalWeight)にアクセスする必要があります。そこから私は前髪を変えたいと思いますが、私はこれをすべてのクライアントにしたいと思います。下の私の関数では、すでに各行にアクセスしていることがわかりますが、フッターの場合はそれほど単純ではありません。私の研究ではこれまでサーバー側のソリューションやハードコードされた行[]セルの状況が続いています。クライアントサイドを使用して列のフッターテンプレートにある特定のコントロールにアクセスする

get_masterTableViewFooterはまだ何も返されていません。

私のコードはC#で書かれています。

はJavaScript:

function GridCreated(sender, eventArgs) { 
     grid = $find("<%=rgActivities.ClientID %>"); 
     var masterTable = grid.get_masterTableView(); 
     var rows = masterTable.get_dataItems(); 
     var total = 0.0; 

     for (var row = 0; row < rows.length; row++) { 
      var rcb = rows[row].findControl("rcbWeight"); 
      total += parseInt(rcb.get_value()); 
     } 

     if (total== 100) { 
      //lblTotalWeight = black; 
     } 
     else { 
      //lblTotalWeight = Red; 
     } 
    } 

(追記のRCBがRadComboBoxあるので)

ありがとう!

+0

あなたは、このクライアント側を行う上で設定されているのはなぜ?私は要件でなければならない理由は見当たりません。私は実際にはこのサーバー側を行う方が理にかなっていると思います。 –

+0

私は同意します。元の機能は、クライアントサイドである必要があった単純なRadnumericテキストボックス列の追加でした。何らかの理由で私の脳がスキップされたので、私は最初の列全体のクライアント側も取得すべきだと決めました。今私がここにいる間、ラベルの色を変えるのは簡単だろうと思った。 – Sethery

+0

私はまだこれを行う方法を知りたいです。 – Sethery

答えて

1

あなたはそれを少し微調整する必要があるかもしれませんが、このような何かを得る必要がありますが閉じ:

var footerLabelID = '<%= ((GridFooterItem)rgActivities.MasterTableView.GetItems(GridItemType.Footer)[0]).FindControl("lblTotalWeight").ClientID %>'; 

var footerLabel = document.getElementById(footerLabelID); 
if (footerLabel){ 
    footerLabel.innerText = "Hello World!"; 
} 
+0

完璧!とても有難い! – Sethery

+0

問題ありません。あなたがうまく働いてうれしい。 –

関連する問題