HTML (aspx)
<asp:datagrid id="DataGrid1" runat="server" AutoGenerateCol umns="False">
<Columns>
<asp:TemplateCo lumn HeaderText="Mon ">
<ItemTemplate >
<asp:TextBox id="TextBox1" runat="server" Width="30px" MaxLength="2"
AutoPostBack="F alse"></asp:TextBox><BR >
<asp:CompareVal idator id="CompareVali dator1" runat="server"
ControlToValida te="TextBox1" Operator="DataT ypeCheck" Type="Integer"
Font-Size="XX-Small">Numbers Only!</asp:CompareVali dator><BR>
<asp:RangeValid ator id="RangeValida tor1" runat="server"
ControlToValida te="TextBox1" Font-Size="XX-Small" MaximumValue="2 4"
MinimumValue="0 ">Must be between 0 - 24</asp:RangeValida tor>
</ItemTemplate>
</asp:TemplateCol umn>
<asp:TemplateCo lumn HeaderText="Tue s">
<ItemTemplate >
<asp:TextBox id="Textbox2" runat="server" AutoPostBack="F alse"
MaxLength="2" Width="30px"></asp:TextBox><br >
<asp:CompareVal idator id="Comparevali dator2" runat="server"
ControlToValida te="Textbox2" Operator="DataT ypeCheck" Type="Integer"
Font-Size="XX-Small">Numbers Only!</asp:CompareVali dator><br>
<asp:RangeValid ator id="Rangevalida tor2" runat="server"
ControlToValida te="Textbox2" Font-Size="XX-Small" MaximumValue="2 4"
MinimumValue="0 ">Must be between 0 - 24</asp:RangeValida tor>
</ItemTemplate>
</asp:TemplateCol umn>
<asp:TemplateCo lumn HeaderText="Wed ">
<ItemTemplate >
<asp:TextBox id="Textbox3" runat="server" AutoPostBack="F alse"
MaxLength="2" Width="30px"></asp:TextBox><br >
<asp:CompareVal idator id="Comparevali dator3" runat="server"
ControlToValida te="Textbox3" Operator="DataT ypeCheck" Type="Integer"
Font-Size="XX-Small">Numbers Only!</asp:CompareVali dator><br>
<asp:RangeValid ator id="Rangevalida tor3" runat="server"
ControlToValida te="Textbox3" Font-Size="XX-Small" MaximumValue="2 4"
MinimumValue="0 ">Must be between 0 - 24</asp:RangeValida tor>
</ItemTemplate>
</asp:TemplateCol umn>
<asp:TemplateCo lumn HeaderText="Thu rs">
<ItemTemplate >
<asp:TextBox id="Textbox4" runat="server" AutoPostBack="F alse"
MaxLength="2" Width="30px"></asp:TextBox><br >
<asp:CompareVal idator id="Comparevali dator4" runat="server"
ControlToValida te="Textbox4" Operator="DataT ypeCheck" Type="Integer"
Font-Size="XX-Small">Numbers Only!</asp:CompareVali dator><br>
<asp:RangeValid ator id="Rangevalida tor4" runat="server"
ControlToValida te="Textbox4" Font-Size="XX-Small" MaximumValue="2 4"
MinimumValue="0 ">Must be between 0 - 24</asp:RangeValida tor>
</ItemTemplate>
</asp:TemplateCol umn>
<asp:TemplateCo lumn HeaderText="Fri ">
<ItemTemplate >
<asp:TextBox id="Textbox5" runat="server" AutoPostBack="F alse"
MaxLength="2" Width="30px"></asp:TextBox><br >
<asp:CompareVal idator id="Comparevali dator5" runat="server"
ControlToValida te="Textbox5" Operator="DataT ypeCheck" Type="Integer"
Font-Size="XX-Small">Numbers Only!</asp:CompareVali dator><br>
<asp:RangeValid ator id="Rangevalida tor5" runat="server"
ControlToValida te="Textbox5" Font-Size="XX-Small" MaximumValue="2 4"
MinimumValue="0 ">Must be between 0 - 24</asp:RangeValida tor>
</ItemTemplate>
</asp:TemplateCol umn>
<asp:TemplateCo lumn HeaderText="Sat ">
<ItemTemplate >
<asp:TextBox id="Textbox6" runat="server" AutoPostBack="F alse"
MaxLength="2" Width="30px"></asp:TextBox><br >
<asp:CompareVal idator id="Comparevali dator6" runat="server"
ControlToValida te="Textbox6" Operator="DataT ypeCheck" Type="Integer"
Font-Size="XX-Small">Numbers Only!</asp:CompareVali dator><br>
<asp:RangeValid ator id="Rangevalida tor6" runat="server"
ControlToValida te="Textbox6" Font-Size="XX-Small" MaximumValue="2 4"
MinimumValue="0 ">Must be between 0 - 24</asp:RangeValida tor>
</ItemTemplate>
</asp:TemplateCol umn>
<asp:TemplateCo lumn HeaderText="Sun ">
<ItemTemplate >
<asp:TextBox id="Textbox7" runat="server" AutoPostBack="F alse"
MaxLength="2" Width="30px"></asp:TextBox><br >
<asp:CompareVal idator id="Comparevali dator7" runat="server"
ControlToValida te="Textbox7" Operator="DataT ypeCheck" Type="Integer"
Font-Size="XX-Small">Numbers Only!</asp:CompareVali dator><br>
<asp:RangeValid ator id="Rangevalida tor7" runat="server"
ControlToValida te="Textbox7" Font-Size="XX-Small" MaximumValue="2 4"
MinimumValue="0 ">Must be between 0 - 24</asp:RangeValida tor>
</ItemTemplate>
</asp:TemplateCol umn>
<asp:TemplateCo lumn HeaderText="Tot al">
<ItemTemplate >
<asp:Label id="lblTotal" runat="server"> 0</asp:Label>
</ItemTemplate>
</asp:TemplateCol umn>
<asp:ButtonColu mn Text="Sum" ButtonType="Pus hButton"
CommandName="SU M"></asp:ButtonColum n>
</Columns>
</asp:datagrid>
Codebehind (vb):
Dim ds As New DataSet("ds")
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArg s) Handles MyBase.Load
'Put user code to initialize the page here
If Not IsPostBack() Then
fillGrid()
End If
End Sub
Private Sub fillGrid()
Dim conn As New OleDbConnection (Session("UserD BConnString"))
Dim adpt As New OleDbDataAdapte r("SELECT * FROM DUAL WHERE ROWNUM <=
1", conn) 'gets me a row quickly from Oracle!!
conn.Open()
adpt.Fill(ds)
DataGrid1.DataS ource = ds.Tables(0).De faultView
DataGrid1.DataB ind()
conn.Close()
End Sub
Private Sub calcTotal(ByVal intRow As Integer)
Dim dgi As DataGridItem = DataGrid1.Items (intRow)
Dim intSum As Integer = 0
Dim ctrl As Control
Dim tb As TextBox
Dim i As Integer = 0
For i = 0 To dgi.Cells.Count - 1
For Each ctrl In dgi.Cells(i).Co ntrols
If InStr(LCase(ctr l.GetType.ToStr ing), "textbox") <> 0 Then
tb = CType(ctrl, TextBox)
If Not tb.Text = "" Then
intSum += CInt(tb.Text)
End If
End If
Next ctrl
Next i
Dim lbl As Label = dgi.FindControl ("lblTotal")
lbl.Text = CStr(intSum)
End Sub
Private Sub DataGrid1_ItemC ommand(ByVal source As Object, ByVal e As
System.Web.UI.W ebControls.Data GridCommandEven tArgs) Handles
DataGrid1.ItemC ommand
If e.CommandName = "SUM" Then
calcTotal(e.Ite m.ItemIndex)
End If
End Sub
"MSNEWS" <xx@nospam.co m> wrote in message
news:%2******** ********@tk2msf tngp13.phx.gbl. ..
Hi
I have a datagrid with 8 Columns, columns called Monday - Sunday, and a
column called TOTAL. The Monday - Sunday columns are template columns
with
a textbox inside. The TOTAL column is a label column.
When the user enteres numbers into the Monday - Sunday columns I want
TOTAL
to add up all the columns on the current row.
I guess this needs to be done with client side vbscript? But I have no
clue
where to start.
Also could somebody give me hints on how to validate by Monday - Sunday
columns so that they can only enter numbers between 0 and 24.
Thanks