webForumDet fria alternativet

Enkel funktion...

.NET

8 svar · 711 visningar · startad av CatZ

Medlem sedan jan. 20022 440 inlägg
Frågan#1

Jag sitter och pillar lite på en enkel funktion. Jag har några fält i en datagrid som ska uppdateras.

Först Produktkod i en dropdownlist sedan á-pris sedan qty och sist ett totalpris á-priset ska inte sparas någonstans utan ska bara användas så att folk slipper använda sin kalkylator :)

Hur gör jag det?

När de klickar på edit eller update ska de alltså kunna ändra á-pris och antal och den summan ska läggas till i Totalpris...

Medlem sedan juli 200330 inlägg
#2

Här kommer en länk till en bra sida om Datagrid.

http://aspnet.4guysfromrolla.com/articles/040502-1.aspx

Medlem sedan jan. 20022 440 inlägg
#3

Har Datagrid blivit utbytt mot Gridview i asp.net 2.0 ?

Medlem sedan jan. 20022 440 inlägg
#4
<Columns>
	<asp:TemplateColumn HeaderText="GL Code">
		<HeaderStyle Width="2.5cm"></HeaderStyle>
		<ItemTemplate>
			<asp:Label id="lblGlCodesItem" runat="server"></asp:Label>
		</ItemTemplate>
		<EditItemTemplate>
			<asp:DropDownList id=ddlGlCodesEdit runat="server" AutoPostBack="True" DataMember="" 
				DataSource='<%# GetGLCodes("Long",ddlDepartmentID.selectedvalue) %>' DataValueField="id"  
				DataTextField="gl_Code" DESIGNTIMEDRAGDROP="286" Width="250px">
			</asp:DropDownList>
		</EditItemTemplate>
	</asp:TemplateColumn>
	
	<asp:BoundColumn DataField="Qty" HeaderText="Qty">
		<HeaderStyle Width="1cm"></HeaderStyle>
	</asp:BoundColumn>
	
	<asp:TemplateColumn HeaderText="Price">
		<HeaderStyle Width="70px"></HeaderStyle>
		<ItemTemplate>
			<asp:Label id=lblPriceItem runat="server" 
				Text='<%# DataBinder.Eval(Container, "DataItem.Price", "{0:C}") %>' Width="70px">
			</asp:Label>
		</ItemTemplate>
		<EditItemTemplate>
			<asp:TextBox id=txtPriceEdit runat="server" 
				Text='<%# DataBinder.Eval(Container, "DataItem.Price", "{0:C}") %>' width="70px">
			</asp:TextBox>
		</EditItemTemplate>
	</asp:TemplateColumn>
	
	<asp:BoundColumn DataField="Description" SortExpression="Description" HeaderText="Description">
		<HeaderStyle Width="11cm"></HeaderStyle>
	</asp:BoundColumn>
	
	<asp:TemplateColumn HeaderText="Tax">
		<ItemTemplate>
			<asp:Label id="lblTaxItem" runat="server"></asp:Label>
		</ItemTemplate>
		<EditItemTemplate>
			<asp:DropDownList id=ddlTaxEdit runat="server" DataSource="<%# GetTaxCodes() %>" 
				DataValueField="id" DataTextField="Code">
			</asp:DropDownList>
		</EditItemTemplate>
	</asp:TemplateColumn>
[b]''''''''''''' HÄR VILL JAG ATT TOTALPRISET SKA UPPDATERAS '''''''''''''''''''''''[/b]

	
	<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="Update" 
		CancelText="Cancel" EditText="Edit"></asp:EditCommandColumn>
		
	<asp:ButtonColumn Text="Delete" CommandName="Delete"></asp:ButtonColumn>
	<asp:BoundColumn Visible="False" DataField="OrderId" HeaderText="OrderId"></asp:BoundColumn>
	<asp:BoundColumn Visible="False" DataField="OrderDetailId" HeaderText="OrderDetailId"></asp:BoundColumn>
</Columns>
Medlem sedan dec. 19996 522 inlägg
#5

Utbytt och utbytt ska man kanske inte säga, utökad funktionalitet så får du gridview och datagriden finns kvar den med. Ibland behöver man inte allt som finns med i en gridview

Medlem sedan jan. 20022 440 inlägg
#6
<asp:TemplateColumn HeaderText="Total">
<HeaderStyle Width="70px" />
  <ItemTemplate>
    <asp:Label id=lblTotalPrice runat="server" Text="<%# GetTotalPrice() %>" width="70px" />
  </ItemTemplate>
</asp:TemplateColumn>

Nu ska ju datan hämtas för varje rad och bindas och sådär. Har följande lilla ofullständiga kodsnutt som jag vill modifiera så den fungerar. Känner mig lite vilsen utan ASP's recordset :r

Function GetTotalPrice() As Integer
  Dim mySql As String
  Dim myPrice As Integer
  Dim myQty As Integer
  Dim myTotal As Integer

  mySql = "SELECT Price, Qty FROM tblOrderDetails"

  myQty = objRS("Qty")
  myPrice = objRS("Price")
  myTotal = myQty * myPrice

  Return myTotal
End Function
Medlem sedan jan. 20022 440 inlägg
#7

Problemet åtgärdat! Det var enklare än jag trodde

Medlem sedan juni 200032 967 inlägg
#8

http://www.webforum.nu/showthread.php?p=1190349#post1190349

Du har väl varit med tillräckligt länge? :)

Medlem sedan jan. 20022 440 inlägg
#9

Innan jag kör en insert i databasen räknar jag ut antal*á-pris. Jag struntar alltså i totalpriskolumnen eftersom det skapar för mycket arbete.

Har lite tidspress :D

263 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)