DataGrid中文本框联动问题

来源:互联网 发布:讨厌杨过 知乎 编辑:程序博客网 时间:2024/05/01 12:01

DataGrid中文本框联动问题
这是一个比较常见的场景:
DataGrid存放物品的列表,
一个列中是一个文本框,存放物品的价格
一个列中也是一个文本框,存放物品的数量
最后一列中的文本框中存放总价,
要求价格不变,修改物品的数量,相应物品的总价随着改变。
解决:
1 三个模版列:PriceTextBox, QuantityTextBox, MoneyTextBox
2 DataGrid的ItemDataBound事件
TextBox PriceTextBox = e.Item.FindControl("PriceTextBox");
TextBox QuantityTextBox = e.Item.FindControl("QuantityTextBox");
TextBox MoneyTextBox = e.Item.FindControl("MoneyTextBox");
string priceUnique = PriceTextBox.UniqueID.Replace(":", "_");
string quantityUnique = QuantityTextBox.UniqueID.Replace(":", "_");
string moneyUnique    = MoneyTextBox.UniqueID.Replace(":", "_");

QuantityTextBox.Attributes.Add("onkeyup",  moneyUnique + ".value=" + priceUnique + ".value * this.value");