Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Hur modifierar jag doUpdate-metoden så att den fungerar till min datagrid?

Postades av 2003-06-04 14:56:15 - Michael Gustafson, i forum asp.net generellt, Tråden har 8 Kommentarer och lästs av 802 personer

Hej
Jag har "anpassat" min datagrid en smula så att den visar två fält samtidigt i samma <ItemTemplate> respektive <EditItemTemplate> rad.
Men jag får felmeddelande när jag klickar på "Edit"-knappen:
"System.InvalidCastException: Specified cast is not valid."

Jag vet dock inte hur jag ska lösa detta (förutom att ändra datagriden).

Min doUpdatemetod:
<code>public void doUpdate(Object sender, DataGridCommandEventArgs e) {

string Rubrik = ((TextBox)e.Item.Cells[0].Controls[0]).Text;
string Text = ((TextBox)e.Item.Cells[1].Controls[1]).Text;

mygrid.EditItemIndex = -1;
DataSet ds = CreateDataSource();
DataRow row = ds.Tables[0].Rows[e.Item.ItemIndex];

row["rubrik"]=Rubrik;
row["huvudtext"]=Text;

ds.WriteXml(Server.MapPath("../../db/aktuellt.xml"));
mygrid.DataSource = CreateDataSource();
mygrid.DataBind();
}</code>

Min datagrid:
<code><form runat="server">
<asp:datagrid id="mygrid" runat="server" AutoGenerateColumns="false"
OnUpdateCommand="doUpdate"
---
--- >
<Columns>
<asp:TemplateColumn>

<ItemTemplate>
<b><asp:Label Text='<%# DataBinder.Eval(Container.DataItem, "rubrik") %>' runat="server" /></b>
<br /><br />
<asp:Label Text='<%# ((string)DataBinder.Eval(Container.DataItem, "huvudtext")).Replace("\n", "<br/>") %>' runat="server" />
</ItemTemplate>

<EditItemTemplate>
<asp:TextBox id="Rubrik" Rows="1" Text='<%# DataBinder.Eval(Container.DataItem, "rubrik")%>' textMode="SingleLine" Columns="35" runat="server" />
<br /><br />
<asp:TextBox id="Huvudtext" Rows="15" Text='<%# DataBinder.Eval(Container.DataItem, "huvudtext")%>' textMode="multiLine" Columns="35" runat="server" />
</EditItemTemplate>

</asp:TemplateColumn>

<asp:EditCommandColumn CancelText="Ångra" EditText="Ändra" UpdateText="Uppdatera" ButtonType="PushButton" />
</Columns>
</asp:datagrid></code>

// Micke


Svara

Sv: Hur modifierar jag doUpdate-metoden så att den fungerar till min datagr

Postades av 2003-06-04 19:11:12 - Fredrik Normén

Jag vet inte om detta löser ditt problem med i din update metod har du skrivit följande:

string Text = ((TextBox)e.Item.Cells[1].Controls[1]).Text;

Ändra det till:

string Text = ((TextBox)e.Item.Cells[0].Controls[1]).Text;

Det är i Cells 0 som du har både kontrollerna, för det är väl dom två som du vill hämta data ifrån?

/Fredrik N


Svara

Sv: Hur modifierar jag doUpdate-metoden så att den fungerar till min datagr

Postades av 2003-06-04 21:48:41 - Michael Gustafson

Tack för tipset...
Du har rätt på bägge punkter. Det är cell 0 som ska uppdateras och det funkar inte ändå. Det kanske inte går att göra så som jag vill...
Om nån undrar varför jag vill ha det så här är det för att jag vill ha cellerna så här:

-------- ------------------
Rubrik | istället för | Rubrik | Text | Kanske nån annan lösning finns....
Text | -------------------
--------


// Micke


Svara

Sv: Hur modifierar jag doUpdate-metoden så att den fungerar till min datagr

Postades av 2003-06-05 08:39:44 - Fredrik Normén

Det finns andra kontroller som du kan använda.

Tex: DataRepeater eller DataList

/Fredrik N


Svara

Sv: Hur modifierar jag doUpdate-metoden så att den fungerar till min datagr

Postades av 2003-06-05 09:57:02 - Michael Gustafson

Nja, möjligtvis datalist då jag vill använda de inbyggda upDatemöjligheterna. Men förmodligen får jag väl samma problem med upDatemetoden iaf.
// Micke


Svara

Sv: Hur modifierar jag doUpdate-metoden så att den fungerar till min datagr

Postades av 2003-06-05 11:44:24 - Fredrik Normén

Vilken kodrad ger dig InvalidCast?

/Fredrik N


Svara

Sv: Hur modifierar jag doUpdate-metoden så att den fungerar till min datagr

Postades av 2003-06-05 12:14:13 - Michael Gustafson

Följande rad ger felmeddelandet: <code>string Rubrik = ((TextBox)e.Item.Cells[0].Controls[0]).Text;</code>

Sen har jag väl skrivit fel på raden efter. Det är väl bara en "Controls" som används så det ska väl stå:

<code>string Rubrik = ((TextBox)e.Item.Cells[0].Controls[0]).Text;
string Text = ((TextBox)e.Item.Cells[0].Controls[0]).Text; </code> Inte Controls[1] som jag skrev i första inlägget....
/ Micke


Svara

Sv: Hur modifierar jag doUpdate-metoden så att den fungerar till min datagr

Postades av 2003-06-05 13:43:36 - Fredrik Normén

Testa att ändra Cells från 0 till 1.

<code>
string Rubrik = ((TextBox)e.Item.Cells[1].Controls[0]).Text;
string Text = ((TextBox)e.Item.Cells[1].Controls[1]).Text;
</code>

Den cells räknar ev från 1 när du ska hämta dina kolumner du har skapat.

Om detta inte fungerar se så att Controls[0] verkligen är en TextBox. Kör en Quick Watch i debug på Cells[0].Controls och se vilka kontroller den innehåller.

/Fredrik N


Svara

Sv: Hur modifierar jag doUpdate-metoden så att den fungerar till min datagr

Postades av 2003-06-05 17:27:32 - Michael Gustafson

Fick tips om att använda FindControl istället . Då funkade det fintfint.
Alltså :

<code>string Rubrik = ((TextBox)e.Item.FindControl("Rubrik")).Text;
string Text = ((TextBox)e.Item.FindControl("Huvudtext")).Text;</code>

Tack för all hjälp
//Smyken


Svara

Nyligen

  • 21:41 Automotive Services UK
  • 20:44 Erfarenhet av CBD-olja mot sömnpro
  • 12:13 Sex Dolls for Sale
  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 887
27 965
271 776
509
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies