Я динамически добавил n число текстовых полей в gridview и привязал данные к ним . Я хочу, чтобы код, стоящий за функцией/методом, суммировал textbox1, textbox2 ..... textboxn в textboxtotal, если пользователь меняет значение в любом текстовом поле. Я не могу добавить postback с этими текстовыми полями, потому что после того, как postback textbox будет удален.Как скопировать данные из текстового поля в другое текстовое поле, динамически добавленное в gridview, без обратной передачи
код для добавления столбцов в GridView динамически
foreach (string a in crcl)
{
SqlCommand cmd1 = new SqlCommand("select qty from purchaseinstruction where project ='" + DropDownList1.SelectedItem.ToString() + "' AND circle = '" + a + "' AND item = 'BIFURCATION' AND material = '" + mat + "'", agr);
SqlDataReader dr1 = cmd1.ExecuteReader();
if (dr1.Read())
{
string val = dr1[0].ToString();
if (val.Length > 0)
{
row[a] = val;
value = value + decimal.Parse(val);
}
else
{
row[a] = 0;
}
}
else
{
row[a] = 0;
}
dr1.Dispose();
row["TOTAL"] = value;
}
dt.Rows.Add(row);
GridView1.DataSource = dt;
GridView1.DataBind();
Добавление контроля Textbox на rowbound:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
int i = 3;
if (e.Row.RowType == DataControlRowType.DataRow)
{
crcl = (List<string>)ViewState["bdi2"];
foreach(string a in crcl)
{
TextBox TextBox101 = new TextBox();
TextBox101.ID=a;
TextBox101.Width = 60;
TextBox101.Text = (e.Row.DataItem as DataRowView).Row[a].ToString();
e.Row.Cells[i].Controls.Add(TextBox101);
i++;
}
TextBox TextBox102 = new TextBox();
TextBox102.ID = "TOTAL";
TextBox102.Width = 60;
TextBox102.Text = (e.Row.DataItem as DataRowView).Row["TOTAL"].ToString();
e.Row.Cells[i].Controls.Add(TextBox102);
}
}
Я обновил свой вопрос, теперь, пожалуйста, сообщите, где и как назвать вашу функцию. –
Ответ обновлен. Я оставил версию WebForms. – OctoCode
thanx, где я должен поставить эту функцию javascript? –