SelectedIndexChanged im GridView behandeln

22/08/2008 - 08:52 von WolfgangH | Report spam
Hallo Leute,

ich habe ein Problem mit zur Laufzeit erzeugten Control-Events :

GridView mit 2 Spalten;
Spalte 1 wird zur Laufzeit mit Textboxen und Werte gefüllt;
Spalte 2 wird zur Laufzeit mit DropDownLists[DDL] (nur in einigen Zeilen)
gefüllt.

Der User kann Eintràge in den Textboxen àndern oder Standardwerte aus den
DDL wàhlen, die beim Ereignis in die Textbox transferiert werden sollen. Dies
sollte mit SelectedIndexChanged passieren. Tut es aber nicht.

Meine Fragen:
1. Wie kann ich SelectedIndexChanged-Ereignis absetzen bzw. auffangen?
2. Kann das damit gelöst werden, dass ich das GridView in ein UpdatePanel
setze?
3. Wie kann die elegante "Dropdown"-Lösung vom AjaxControlToolkit dafür
verwendet werden, oder geht das nicht?

bin für Vorschlàge dankbar
Wolfgang
 

Lesen sie die antworten

#1 WolfgangH
27/08/2008 - 14:31 | Warnen spam
nach langem Suchen kann ich mir selbst die Antwort geben. Aber für alle die
es mal brauchen können, hier:
folgendes Javascript tut das:
function transfervalue(zeilennr)
{
//Wert aus Dropdown in benachbarte Textbox, Dropdown-Reset
var i,j;
var dropdowns = [];
var inputs = [];

dropdowns = document.getElementById("<%=GridViewPar.ClientID
%>").getElementsByTagName("select");
inputs = document.getElementById("<%=GridViewPar.ClientID
%>").getElementsByTagName("input");

var ok=false;

for(j=0;j<dropdowns.length;j++)
{
if(dropdowns[j].getAttribute("tabIndex")==(1000+zeilennr))
{
for (i=0;i<inputs.length;i++)
{
if(inputs[i].getAttribute("tabIndex")==zeilennr)
{

inputs[i].value=dropdowns[j][dropdowns[j].selectedIndex].value;

dropdowns[j].selectedIndex=0;

ok=true;
break;
}
}
if(ok==true)
break;
}
}
}

zu 2. und 3. habe ich keine Antwort
Wolfgang

1. Wie kann ich SelectedIndexChanged-Ereignis absetzen bzw. auffangen?
2. Kann das damit gelöst werden, dass ich das GridView in ein UpdatePanel
setze?
3. Wie kann die elegante "Dropdown"-Lösung vom AjaxControlToolkit dafür
verwendet werden, oder geht das nicht?

bin für Vorschlàge dankbar
Wolfgang

Ähnliche fragen