0
我有以下问题,并且我不知道如何修复它。
我有一个grid view
其中一列是template field
(文本框)。网格视图由8
行组成。我所做的是每次用户在文本框中输入数据时,我将总数放在最后一个文本框中(set enabled = false)。我通过某种方法在文本框中总结数据条目并在事件中调用它text changed
。但每当我在文本框中输入一个数字,然后点击Tab in the keyboard
或使用鼠标光标移动到下一个框时,我就失去了焦点,我必须再次将鼠标光标置于预期的文本框中。
我尝试了以下方法来解决我的问题,但徒劳无功。
foreach (GridViewRow r in gv_Evaluation.Rows)
{
((RadTextBox)r.Cells[3].FindControl("txt_evaluateWeights")).Attributes.Add("blur", "calc()");
}
在我的页面加载,这根本不起作用。
protected void txt_evaluateWeights_TextChanged(object sender, EventArgs e)
{
calc();
((TextBox)sender).Focus();
}
这样,焦点返回到前一个文本框(我的意思是,我已经做了一个),文本框不是我想的焦点,输入数据。
编辑:
我的计算方法:
private void calc()
{
float sum = 0;
for (int i = 0; i < 7; i++)
{
RadTextBox txt1 = (RadTextBox)gv_Evaluation.Rows[i].Cells[3].FindControl("txt_evaluateWeights");
int weight;
bool result = Int32.TryParse(txt1.Text, out weight);
if (result)
{
sum += weight;
}
}
double percentage;
percentage = Math.Round((sum/100) * 100, 2);
RadTextBox txt3 = (RadTextBox)gv_Evaluation.Rows[7].Cells[3].FindControl("txt_evaluateWeights");
txt3.Text = percentage.ToString();//string.Format("{0:0.0%}", percentage.ToString());
}
你能发布你的'calc'功能呢? – naveen
好的............ –
您想回传并计算服务器端的金额还是想在客户端进行?另外,您是否考虑过启用Paging并且某些行根本不存在于客户端的问题? “将总数放在最后一个文本框中”是什么意思,最后一行是TextBox还是f.e.在页脚? –