webForumDet fria alternativet

Använda Ondatabind på en asp:DropDownlist

.NET

1 svar · 194 visningar · startad av icaaq

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

Jag använder en ArrayList som källa till en DropDownList.

[red]
private void Page_Load(object sender, System.EventArgs e)
		{
			Jabbe j = new Jabbe();
			ArrayList arr = j.RetriveNews();
			if(arr.Count > 0)
			{
				tblCell1.Text = arr.Count.ToString();
				ddnews.Visible = true;
				ddnews.DataSource = arr;
				ddnews.DataBind();
			}
			// Put user code to initialize the page here
		}
[/red]

Denna ArrayList har jag tidigare fyllt med nyhetsobject som följer.

[red]
public ArrayList RetriveNews()
		{
			ArrayList _arrList = new ArrayList();
			string SqlStatement = "SELECT pk_id, f_date, f_headline, f_content from t_news ORDER BY f_date DESC";
			OdbcDataReader _dr = RetriveDataReader(SqlStatement);
			while(_dr.Read())
			{
				News n = new News();
				n.pk_id = Convert.ToInt32(_dr["pk_id"]);
				n.Datetime = Convert.ToDateTime(_dr["f_date"]);
				n.Headline = Convert.ToString(_dr["f_headline"]);
				n.Content = Convert.ToString(_dr["f_content"]);
				_arrList.Add(n);
			}
			return _arrList;
		}[/red]

Men jag får inte ddnews att synas, jag kan väl tänka mig för att det jag inte anget något DataTextField samt DataValueField. Det måste jag väll kunna göra i OnDataBound? Men hur ska jag göra det?? Men är det nån som har en bra länk eller kanske nån kanske kan förklara hur jag ska göra.

Mvh icaaq

Medlem sedan apr. 20012 266 inlägg
#2

Lägg till passande värden på DataTextField samt DataValueField. Sedan tar du och lägger den text du vill ska visas i en Label i stället för att skriva ut den i tblCell1, vilket verkar skriva över att din dropdownlist skall visas i den cellen.

251 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)