[ sivan347 @ 10.08.2007. 15:06 ] @
| Tehnika je ASP.NET 2.0. Na formi imam jedan ListBox i jednu DropDownListu. ListBox bindujem na HashTabelu koju kreiram iz XML-a na Page_Load i to radi. DropDownListu bindujem na SQLDataSource koji sam vezao na ListBox tako sto na PostBack SQLDataSource uzima ListBox.SelectedValue kao parametar za select upit . Samo vezivanje radi odlicno ali problem je sto kad selektujem nesto u ListBoxu napuni se DropDownLista ali ListBox ne zadrzi svoje stanje tj. promeni se selektovani Item u ListBoxu. Na ListBox-u je ViewState=true dok je za DropDownListu ViewState=false(mada sam probao sve kombinacije i neide). Da li neko ima neko resenje posto na internetu jedio sto sam nasao je da se za DropDownListu ViewState postavi na false , ali to neradi?
|
[ sivan347 @ 13.08.2007. 09:07 ] @
Zar niko nezna kako da zadrzim selektovani ListBoxItem posle ListBox postbeka?
[ bjevta @ 13.08.2007. 09:42 ] @
napravi test projekat koji NE radi tako kako treba da radi i priheftaj ga uz sledeći post.
[ sivan347 @ 13.08.2007. 14:46 ] @
Provalio sam da je problem u bindovanju liste i to ne samo na SortedListu nego na bilo sta. Ako je ne bindujem onda sve radi kako treba. Primer koda gde bindujem listu i pozivam na Page_load ako je !Page.IsPostback:
XmlDocument doc = new XmlDocument();
SortedList compList = new SortedList();
doc.Load(Server.MapPath(ConfigurationManager.AppSettings["xml_path"].ToString()));
string xPath = "/Matches/Match/League[LeagueID!=0]/../Teams/GuestTeam[GuestTeamID =0]/../HomeTeam[HomeTeamID=0]/../../. | /Matches/Match/League[LeagueID!=0]/../Teams/GuestTeam[GuestTeamID !=0]/../HomeTeam[HomeTeamID=0]/../../. | " +
"/Matches/Match/League[LeagueID!=0]/../Teams/GuestTeam[GuestTeamID =0]/../HomeTeam[HomeTeamID!=0]/../../.";
XmlNodeList nodeList = doc.SelectNodes(xPath);
for (int i = 0; i < nodeList.Count; i++)
{
if (!compList.ContainsKey(nodeList.ChildNodes[3].FirstChild.FirstChild.InnerText) && nodeList.ChildNodes[3].FirstChild.FirstChild.InnerText != "")
{
if (nodeList.ChildNodes[3].FirstChild.LastChild.InnerText == "0")
{
compList.Add(nodeList.ChildNodes[3].FirstChild.FirstChild.InnerText, nodeList.ChildNodes[2].LastChild.InnerText);
}
}
if (!compList.ContainsKey(nodeList.ChildNodes[3].LastChild.FirstChild.InnerText) && nodeList.ChildNodes[3].LastChild.FirstChild.InnerText != "")
{
if (nodeList.ChildNodes[3].LastChild.LastChild.InnerText == "0")
{
compList.Add(nodeList.ChildNodes[3].LastChild.FirstChild.InnerText, nodeList.ChildNodes[2].LastChild.InnerText);
}
}
}
lbTakmicari.DataSource = compList;
lbTakmicari.DataValueField = "Value";
lbTakmicari.DataTextField = "Key";
lbTakmicari.DataBind();
Ima li neko neki predlog?
[ sivan347 @ 13.08.2007. 15:39 ] @
[ sivan347 @ 14.08.2007. 11:43 ] @
Mislim da sam pronasao gde je greska ali jos uvek ne znam kako da je resim. Problem je sto mi neki Itemi u listboxu imaju isti value. Kad selektujem neki od njih posle postback-a bude selektovan prvi u listi koji ima isti value. Da li postoji neki nacin da se to spreci?
[ VerbatimBOT @ 14.08.2007. 12:07 ] @
A zašto ne bi jurio selektovani indeks, a ne Value?
[ sivan347 @ 14.08.2007. 12:13 ] @
Ne jurim nista. Popunim listbox sa item-ima od kojih neki imaju isti value. Kad uradim postback ostane selektovan samo prvi u listi koji ima isti value. Znaci nigde ne uzimam SelectedValue.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.