webForumDet fria alternativet

Fylla repeater med DataSet

.NET

9 svar · 609 visningar · startad av freddyk

Medlem sedan okt. 2006103 inlägg
Frågan#1

Tjena Hur fylelr jag en repeater med ett dataset?

Får endast ut första posten men vill ha ut alla posterna från Datasetet... :)

laddar repeatern så här...


        meddelande anslag = new meddelande();
        DataSet anslagDS = anslag.getAnslagDS();

        rptrAnslagMeddelande.DataSource = anslagDS;
        rptrAnslagMeddelande.DataBind();
Medlem sedan okt. 20041 556 inlägg
#2

Du kanske bara har en post då.

Medlem sedan okt. 2006103 inlägg
#3

:) Nej så enkelt är det inte.... har faktiskt 2 :D

Medlem sedan dec. 19998 577 inlägg
#4

Hur ser getAnslagDS() ut?

Medlem sedan okt. 2006103 inlägg
#5

Vide skrev:

Hur ser getAnslagDS() ut?

Se nedan :D

public DataSet getAnslagDS()
    {
        DataSet MyDataSet = new DataSet();

        MyConnection = new SqlConnection();
        MyConnection.ConnectionString = ConfigurationManager.ConnectionStrings["malteConnectionString"].ConnectionString;
        MyCommand = new SqlCommand("malte_anslag_getAnslag");
        MyCommand.CommandType = CommandType.StoredProcedure;
        MyCommand.Connection = MyConnection;

        try
        {
            MyCommand.Connection.Open();
            MyAdapter = new SqlDataAdapter(MyCommand);
            MyAdapter.Fill(MyDataSet);

            return MyDataSet;
        }
        catch (Exception objException)
        {
            return MyDataSet;
        }
        finally
        {
            MyConnection.Close();
            MyCommand.Dispose();
            MyConnection.Dispose();
        }
    }

Stored Procedure


[ALTER PROCEDURE [dbo].[malte_anslag_getAnslag]
	-- Add the parameters for the stored procedure here

AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    -- Insert statements for procedure here
	SELECT anslagID, anslagRubrik, anslagText,createDate, (SELECT anstNamn FROM dbo.malte_grund_anstalld WHERE dbo.malte_grund_anstalld.anstID = dbo.malte_anslag_anslag.anstID) AS Av
	FROM dbo.malte_anslag_anslag
END
Medlem sedan juli 20011 304 inlägg
#6

Det kan inte vara så att det är repeater-templaten som det är fel på?
Visa hur den ser ut med :)

Medlem sedan feb. 2005280 inlägg
#7

Har du 2 poster och ingen AlternateTemplate så ritas det bara ut 1 post med ItemTemplate ..kanske.... lite gissning nu bara, men nåt sånt alltså :)

Medlem sedan okt. 2006103 inlägg
#8

freguz skrev:

Har du 2 poster och ingen AlternateTemplate så ritas det bara ut 1 post med ItemTemplate ..kanske.... lite gissning nu bara, men nåt sånt alltså :)

hahaha.... Ibland ser man inte skogen för alla träden... :D

Bevisar ännu en gång att jag är trött i huvudet ibland. Hade glömt att ange en AlternateTemplate.... *Suck* :stud

Ber om ursäkt och tackar er alla allra ödmjukast för hjälpen! *bockar* :bire

Medlem sedan okt. 2007446 inlägg
#9

Man skall inte behöva ha en alternatingtemplate för att få ut alla poster
alternatingtemplate använder man ju om man vill ha annorlunda utseende på varannan rad

Du har ingen "onItemDatabound" som spökar?

Medlem sedan nov. 20014 054 inlägg
#10

Bör väl räcka med något liknande i en onItemDatabound i codebehind:

protected void repeater_ItemDataBound(Object sender, RepeaterItemEventArgs e) {
 if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem) {
  // bind värden från DataItem till labels, literal etc i ItemTemplate i repeatern..
 DataRowView sRow = (DataRowView)e.Item.DataItem;
 ((Literal)e.Item.FindControl("question")).Text = (string)sRow["column_name"];
 }
}
254 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)