Ahoj, mám problém s GridView. Nastavil jsem si pevnou velikost políček, a zalamování textu. V Internet Exploreru vše funguje dobře, ale v Mozile, sice okýnka jsou správně veliká, ale text se nezalamuje. Neví někdo, čím by to mohlo být?
Příspěvky odeslané z IP adresy 193.165.79.–
Ahoj, mám takový problém. V mé webové stránce, načítám pomocí SqlDataSource data z databaze a zobrazuji je v GridView. Potřebuji aby na každý rádek v GridView šlo klinout a zjistit, kam bylo kliknuto. Řeším to takto:
------------------------------------------------------------------------------------
protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes["onmouseover"] =
"javascript:setMouseOverColor(this);";
e.Row.Attributes["onmouseout"] =
"javascript:setMouseOutColor(this);";
e.Row.Attributes["onclick"] =
ClientScript.GetPostBackClientHyperlink
(this.GridView, "Select$" + e.Row.RowIndex);
}
}
<script language="javascript" type="text/javascript">
var oldgridSelectedColor;
function setMouseOverColor(element)
{
oldgridSelectedColor = element.style.backgroundColor;
element.style.backgroundColor='yellow';
element.style.cursor='hand';
}
function setMouseOutColor(element)
{
element.style.backgroundColor=oldgridSelectedColor;
element.style.textDecoration='none';
}
</script>
------------------------------------------------------------------------------------
Kam bylo stisknuto si zjištuju takto:
------------------------------------------------------------------------------------
protected void GridView_SelectedIndexChanged(object sender, EventArgs e)
{
string kam = GridView.SelectedRow.Cells[0].Text;
}
------------------------------------------------------------------------------------
Vše funguje dobře. Problém však nastává, když změním sql příkaz v SqlConnection a nová data znovu zobrazím v GridView. Např: Sql příkaz vybere prvních 10 záznamů z databáze, nyní vše funguje jak má, ale pokud změním sql příkaz, načtu třeba posledních 10 záznamů, tak pokud kliknu na první záznam v GridView, zobrazí se mi jméno záznamu, který tam byl předtím, při prvním sql příkazu.
Změnu provádím takto:
------------------------------------------------------------------------------------
this.SqlDataSource1.SelectCommand = "neco";
this.SqlDataSource1.DataBind();
this.GridView.DataSourceID = "SqlDataSource1";
this.GridView.DataBind();
------------------------------------------------------------------------------------
Napadlo mě, že by možná chtělo udělat nějaký refresh GridView, protože nová obnovená tabulka se zobrazí správně, ale staré hodnoty jakoby tam zůstaly, ale nejsou vidět. Neví někdo co s tím?