- - PR -
値の変更をデータグリッドへ反映させる方法
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-01-16 15:42
はじめまして
参考までに 例えば1列目に表示されているトン数に2列目で入力された単価を掛けて3列目に金額を 表示する場合なら以下の方法でクライアント側の処理できます。 「.aspx」部分 ------------------------------------------------------------------------- <script language="javascript"> function CalcPrice( ton, EditTanka, EditPrice ) { price = ton * EditTanka.value; if( price >= 0 ) EditPrice.value = Math.floor(price); else EditPrice.value = Math.ceil(price); } </script> ------------------------------------------------------------------------- 「.cs」部分 ------------------------------------------------------------------------- private System.Web.UI.Control GetContrl( System.Web.UI.ControlCollection Controls, Type contrlType ) { foreach( System.Web.UI.Control ctrl in Controls ) { if( ctrl.GetType() == contrlType ) return ctrl; } return null; } private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { // 単価の項目に金額を計算するJAVAスプリクトを設定 string ton = e.Item.Cells[0].Text; TextBox editTanka = (TextBox)GetContrl( e.Item.Cells[1].Controls ,typeof( TextBox )); TextBox editPrice = (TextBox)GetContrl( e.Item.Cells[2].Controls ,typeof( TextBox )); if( editTanka != null && editPrice != null ) { editTanka.Attributes["onChange"] = string.Format( "CalcPrice( {0}, this, document.forms[0].{1} )" , ton , editPrice.ClientID ); } } ------------------------------------------------------------------------- |