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


binda data till usercontrol

Postades av 2005-06-12 23:43:50 - Joakim Åhl, i forum vb.net, Tråden har 6 Kommentarer och lästs av 467 personer

Hur gör man för att binda en datakälla till en usercontrol?

tex. Usercontrolen har en labeloch för varje rad som finns i datakällan skall en rad läggas till och co labeln skall få den texten som finns i data källan. (Typ som en datalist i asp.net)

man skall bara behöva skriva usercontrol.Datasource = db.GetData();


Någon som har någon ide?


Svara

Sv: binda data till usercontrol

Postades av 2005-06-13 18:36:11 - Björn Österman

Hmm... Nu blir jag osäker på ifall:
1. Labeln skall innehålla flera rader
2. Det skall finnas flera Labels i Usercontrollen
3. Det skall finnas flera UserControls.

... Men om jag får gissa lite så är det nummer 2 som du vill ha:

labelrepeater.ascx:

<%@ Control Language="c#" AutoEventWireup="false" 
    Codebehind="labelrepeater.ascx.cs" Inherits="tester.labelrepeater" 
    TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
<asp:Repeater id="Repeater1" runat="server">
<HeaderTemplate><table></HeaderTemplate>
<ItemTemplate>
<tr><td>
  <asp:Label Runat="server" ID="Label1">
    <%# DataBinder.Eval(Container.DataItem, "Namn")%>
  </asp:Label>
</td></tr>
</ItemTemplate>
<FooterTemplate></table></FooterTemplate>
</asp:Repeater>

labelrepeater.ascx.cs
namespace tester {
   using System;
   using System.Web.UI.WebControls;

   public class labelrepeater : System.Web.UI.UserControl {
      protected Repeater Repeater1 = new Repeater();

      public object DataSource { 
         get { return Repeater1.DataSource; }      
         set { Repeater1.DataSource = value; }
      }
      override protected void OnInit(EventArgs e) {
         InitializeComponent();
         base.OnInit(e);
      }
      private void InitializeComponent() {}
   }
}

WebForm1.aspx
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" 
    AutoEventWireup="false" Inherits="tester.WebForm1" %>
<%@ Register TagPrefix="uc1" TagName="labelrepeater" 
    Src="labelrepeater.ascx" %>
<HTML>
   <body>
      <uc1:labelrepeater id="Labelrepeater1" runat="server"></uc1:labelrepeater>
   </body>
</HTML>


WebForm1.aspx.cs
using System;
using System.Collections;

namespace tester {
   public class WebForm1 : System.Web.UI.Page {
      public labelrepeater Labelrepeater1 = new labelrepeater();
      private void Page_Load(object sender, System.EventArgs e) {
         // Init lite data istället för hämta från databas
         ArrayList list = new ArrayList();
         list.Add( new Item("Stockholm") );
         list.Add( new Item("Göteborg" ) );
         list.Add( new Item("Malmö"    ) );
         list.Add( new Item("Sundsvall") );

         Labelrepeater1.DataSource = list;
         DataBind();
      }
      override protected void OnInit(EventArgs e) {
         InitializeComponent();
         base.OnInit(e);
      }
      private void InitializeComponent() {    
         this.Load += new System.EventHandler(this.Page_Load);
      }
   }
   public class Item {
      private string namn;
      public string Namn { get { return namn; } }

      public Item(string namn){
         this.namn = namn; 
      }
   }
}


Hoppas det hjäper

// MvH Björne


Svara

Sv:binda data till usercontrol

Postades av 2005-06-13 22:26:32 - Joakim Åhl

Tack för hjälpen men nu är det så att jag ville att det skulle funka i windows forms.
Windows forms har ju ingen Repeater.


Svara

Sv: binda data till usercontrol

Postades av 2005-06-13 22:48:51 - Björn Österman

Ha! Supermiss =)

Sorry. Har inte kommit igång med WinForms-applikationer riktigt.

Hmm... Hur var det du har tänkt dig att den där kontrollen skulle fungera?
Skulle den lägga till en label för varje rad, eller skulle den bara lägga till en ny rad i samma label?
Skall kontrollen expandera etc?

Eller är det typ en DataGrid som du vill ha?

// Med ödmjuka hälsningar Björne


Svara

Sv:binda data till usercontrol

Postades av 2005-06-14 15:45:41 - Joakim Åhl

Det är typ en datagrid/datalist

Tex. i databasen fins:

1 kalle
2 nisse
3 olle


Då skall det bildas 3 st lablar där den första har texten kalle och den tredje har texten olle.


Svara

Sv: binda data till usercontrol

Postades av 2005-06-14 19:44:16 - Björn Österman

Okey, testa någonting sånt här då:

Lägg till följande funktion i din UserControl

   public void ConsumeDataTable(DataTable table, string columnName) {
      int x = 10;
      int y = 10;

      foreach ( DataRow dr in table.Rows ) {
         Label l = new Label();
         l.Text = dr[columnName].ToString();
         l.Location = new Point(x,y);
         this.Controls.Add(l);
         y += l.Height;
      }
   }


och sen kallar du på den från ditt Form med:
   LabelRepeater lr = new LabelRepeater(); // LabelRepeater är din UserControl
   this.Controls.Add(lr);
   lr.Location = new Point(1,1);
   lr.ConsumeDataTable(table, "name");


Kan det vara en start?

// MvH Björne


Svara

Sv:binda data till usercontrol

Postades av 2005-06-23 00:44:19 - Joakim Åhl

tusen tck för hjälpen det funka finnt finnt :D


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

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 724
27 958
271 751
492
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