webForumDet fria alternativet

Längd på textbox

.NETur .NET

10 svar · 303 visningar · startad av andreas_lindh

Medlem sedan jan. 20011 140 inlägg
Frågan#1

Använder ett datagrid med Oneditcommand.

Kan man bestämma storlek på textfälten som skapas.

Medlem sedan juni 20011 732 inlägg
#2

Japp. Antingen går du in och gräver i din datagrid från koden och letar upp dina kontroller och sätter värden på dem där. Eller (vilket är lättare och bättre) så gör du en templatecolumn i din datagrid där du har dina kontroller synliga:

<asp:templatecolumn>
  <itemtemplate>
    <%# DataBinder.Eval(Container, "DataItem.blahblah") %>
  </itemtemplate>
  <edititemtemplate>
    <asp:textbox text='<%# DataBinder.Eval(Container, "DataItem.blahblah") %>' width="400" runat="server">
    </asp:textbox>
  </edititemtemplate>
</asp:templatecolumn>

Om du har vs.net kan du automatiskt konvertera dina kolumner i din datagrid från property buildern till templates (som du hittar i propertiesfönstret).

Medlem sedan apr. 20012 266 inlägg
#3

Tips till NETwork lite off topic, använd [kod] taggarna, lättare att läsa :)

Medlem sedan jan. 20011 140 inlägg
#4

Jag använder asp:boundcolumn och får textfälten automatiskt.

Kan jag använda din kod ändå?

Medlem sedan juni 20011 732 inlägg
#5

:r

Jag tar på mig hatten och ställer mig i skåpet.

Medlem sedan juni 20011 732 inlägg
#6

andreas_lindh skrev:

Jag använder asp:boundcolumn och får textfälten automatiskt.

Kan jag använda din kod ändå?

Du ska ha min kod istället för din boundcolumn. En template är en kolumn där du skriver ut kod manuellt (ungefär som i en datalist). I din template har du en EditItemTemplate och det är koden i denna template som plockas fram när du kör ditt editevent...

Medlem sedan feb. 20022 594 inlägg
#7

andreas_lindh: Du får alltså byta ut din boundcolumn mot en templatecolumn. Det går alldeles utmärkt att byta. :)

Medlem sedan jan. 20011 140 inlägg
#8

OK.
Vilket är bäst att använda. Är det någon skillnad?

Medlem sedan juni 20011 732 inlägg
#9

SKillnaden är att du kan slänga in egen kod i en template, med en boundcolumn är du hänvisad till de förutbestämda egenskaper som finns i denna. Det är bara två olika sätt att göra samma sak. Om du bara ska skriva ut data så går det ju snabbast att lägga in en boundcolumn (mindre kod för dig att skriva, renare aspx-sida!), ska du däremot sätta width på en textbox så blir det ju lättare om du använder templates.

Medlem sedan jan. 20011 140 inlägg
#10

Nytt problem med textboxarna.

Hur ska jag göra för att få in de nya värdena i databasen.
Har satt id i en textbox till tblag_a. När jag sen ska hämta värdet går inte det eftersom textboxen bytt namn till datagrid1:_ctl2:tblag_a.

Medlem sedan juni 20011 732 inlägg
#11

:)

Här finns ett kodexempel på en datagrid med en updatefunktion som du kan använda.

http://www.dotnetjunkies.com/quickstart/util/srcview.aspx?path=/quickstart/aspplus/samples/webforms/data/datagrid8.src

129 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)