Hej! Hej, Ok! jag förstår. Löste det själv igenom Med lite flyt:Gridview i en repeater
Hur skall jag göra för att kunna visa en gridview i en repeater.
/TyronneSv: Gridview i en repeater
Du kan utan problem nästla kontroller, i fallet med GridView i en Repeater så är det lämpligt att man gör en FindControl i Repeaterns ItemDataBound-event och därefter binder en datakälla till GridViewen.Sv:Gridview i en repeater
Hur får jag ut ett värde ur repeatern. Tanken är att jag skall ta id numret på varje rad och hämta upp annan data som jag sedan skall fylla gridviewn med. Jag har labbat lite med
<code>
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
switch(e.Item.ItemType)
{
case ListItemType.Item :
//-- Get data from datareader, for this row in databas
DataTable obj = new DataTable();
obj.Rows.Add(e.Item.DataItem);
string sFirstName = obj.Rows[0]["id"].ToString();
break;
}
}
</code>
detta är bara ett av många exempel jag har arbetat med. När jag löst detta så kan jag gåvidaer för at fylla gridviewn med rätt data. Vill nartuligtvis ha det enklas sättet och är på intet sätt låst till ovan exempel.
/TyronneSv: Gridview i en repeater
<code>
DataRowView dr = (DataRowView)e.Item.DataItem;
string sFirstName = dr.Row["id"].ToString();
</code>
OK! då till hur vi fyller gridviewn med data från databasen
/tyronneSv:Gridview i en repeater
<code>
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
int playerID=0;
switch(e.Item.ItemType)
{
case ListItemType.Item :
//-- Get data from datareader, for this row in databas
DataRowView dr = (DataRowView)e.Item.DataItem;
playerID = (int)dr.Row["id"];
break;
}
if(playerID !=0)
{
WebLogic.CPlayer player = new WebLogic.CPlayer();
DataSet ds = player.SelectPlayersDataToGridview(playerID);
GridView gvPlayerData = ((GridView)e.Item.FindControl("GridView2"));
if (ds.Tables[0].Rows.Count == 0)
{
gvPlayerData.Visible = true;
}
else
{
gvPlayerData.DataSource = ds;
gvPlayerData.DataBind();
}
}
}
</code>
så löste det sig!
Tack för hjälpen
/Tyronne