62,075
社区成员
发帖
与我相关
我的任务
分享
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div id="div1">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:BoundField DataField="id" HeaderText="编号"/>
<asp:BoundField DataField="name" HeaderText="名称"/>
<asp:BoundField DataField="" HeaderText="输入1"/>
<asp:BoundField DataField="" HeaderText="输入2"/>
<asp:BoundField DataField="" HeaderText="输入3"/>
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("id", Type.GetType("System.Int32")));
dt.Columns.Add(new DataColumn("name", Type.GetType("System.String")));
DataRow newrow = dt.NewRow();
newrow["id"] = 1;
newrow["name"] = "张飞,赵云,李逵";
dt.Rows.Add(newrow);
DataRow newrow2 = dt.NewRow();
newrow2["id"] = 1;
newrow2["name"] = "张飞,赵云,李逵";
dt.Rows.Add(newrow2);
GridView1.DataSource = dt;
GridView1.DataBind();
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int i = 0; i < GridView1.Rows.Count; i++)
{
GridView1.Rows[i].Cells[2].Text = "<input id='Text1' type='text' />";
GridView1.Rows[i].Cells[3].Text = "<input id='Text2' type='text' onchange='this.parentElement.parentElement.cells[4].childNodes[0].value=parseInt(this.parentElement.parentElement.cells[2].childNodes[0].value)+parseInt(this.value)' />";
GridView1.Rows[i].Cells[4].Text = "<input id='Text3' type='text' />";
}
}
<asp:TemplateField HeaderText="测试1">
<ItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True" OnTextChanged="TextBox1_TextChanged"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="测试2">
<ItemTemplate>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
foreach (GridViewRow grRow in this.GridView1.Rows)
{
TextBox tb1 = (TextBox)grRow.Cells[2].FindControl("TextBox1");
if (tb1 != null)
{
if (tb1.Text != "")
{
TextBox tb2 = (TextBox)grRow.Cells[3].FindControl("TextBox2");
if (tb2 != null)
{
tb2.Text = (Convert.ToInt32(tb1.Text) + 1).ToString();
}
}
}
}
}