asp.net vb GridView第五列减第6列等于第七列 怎么做第五列将此字段转为TemplateField textbox1这样出错
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then e.Row.Cells(6).Text = CStr(CInt(e.Row.Cells(4).Text) - CInt(e.Row.Cells(5).Text))
End If
End Sub将此字段转为TemplateField textbox1
我怎么写谢谢大家帮一下。
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then e.Row.Cells(6).Text = CStr(CInt(e.Row.Cells(4).Text) - CInt(e.Row.Cells(5).Text))
End If
End Sub将此字段转为TemplateField textbox1
我怎么写谢谢大家帮一下。
是数字吗?打印出来看看啊要学会调试啊
CStr(CInt(e.Row.Cells(4).Text) - CInt(e.Row.Cells(5).Text))
End If
End Sub
再次执行孟子大神的方法。。
<script runat="server"> Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
If Not Page.IsPostBack Then
' 创建示例数据绑定源
Dim dt As New System.Data.DataTable()
Dim dr As System.Data.DataRow
dt.Columns.Add(New System.Data.DataColumn("UserId", GetType(System.Int32)))
dt.Columns.Add(New System.Data.DataColumn("Num", GetType(System.Int32)))
dt.Columns.Add(New System.Data.DataColumn("Price", GetType(System.Int32)))
dt.Columns.Add(New System.Data.DataColumn("Total", GetType(System.String)))
Dim rd As New System.Random()
For i As Integer = 1 To 9
dr = dt.NewRow()
dr(0) = i
dr(1) = i
dr(2) = i
dr(3) = ""
dt.Rows.Add(dr)
Next
Dim dv As New System.Data.DataView(dt)
GridView1.DataSource = dv
GridView1.DataBind()
End If
End Sub
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
Dim x As TextBox = CType(e.Row.FindControl("x"), TextBox)
e.Row.Cells(3).Text = Int32.Parse(x.Text) + Int32.Parse(e.Row.Cells(2).Text)
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script>
function Count(t) {
var tr = t.parentNode;
while (tr.tagName != "TR") tr = tr.parentNode;
if (tr.tagName != "TR") return;
txt = parseInt(t.value)
if (isNaN(txt)) txt = 0;
tr.cells[3].innerHTML = txt + parseInt(tr.cells[2].innerHTML)
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound"
AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="UserId" />
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="x" runat="server" Text='<%#Eval("Num") %>' onblur='Count(this)'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Price" />
<asp:BoundField DataField="Total" />
</Columns>
</asp:GridView>
</form>
</body>
</html>