Ich habe eine Dropdownbox (ddlCountry) flag_allcountries_flagwear_flag_gifts enthält, Wenn i USA wählen wird es Raster angezeigt Steuer Anzeige von Informationen zu USA.If bezogenen i Informationen in Raster bearbeiten und wenn wir Land USA nach Großbritannien in Drop-Down ändern Box in der ddlCountry (nicht die Dropdown-Box kommt im Bearbeitungsfenster des Gitters, kein Problem dafür) es Anzeige Fehler wieDropdown-Box Index Ausgabe
angegeben Argument lag außerhalb des Bereichs der gültigen Werte. Parametername: ItemHierarchicalIndex Beschreibung: Bei der Ausführung der aktuellen Webanforderung ist eine nicht behandelte Ausnahme aufgetreten. Bitte überprüfen Sie die Stack-Trace für weitere Informationen über den Fehler und wo es aus dem Code stammt.
Ausnahmedetails: System.ArgumentOutOfRangeException: Das angegebene Argument lag außerhalb des gültigen Wertebereichs. Parametername: ItemHierarchicalIndex
Quellfehler:
Linie 86:} Linie 87: Linie 88: if (rgStateTax.EditItems.Count> 0) Linie 89: { Linie 90: foreach (GridDataItem Artikel in rgStateTax.Items)
Quelldatei: c: \ Projects \ ACS \ sample.Acs.Administration \ Usercontrols \ TaxManager.ascx.cs Line: 88
Stack Trace:
[ArgumentOutOfRangeException: Angegebenes Argument lag außerhalb des gültigen Wertebereichs. Parametername: ItemHierarchicalIndex] Telerik.WebControls.GridItemCollection.get_Item (String hierarchicalIndex) 323 Telerik.WebControls.GridDataItemCollection.get_Item (String hierarchicalIndex) +37 Telerik.WebControls.RadGrid.get_EditItems() +215 sample.Acs .Administration.TaxManager.rgStateTax_PreRender (Objektabsender, EventArgs e) in c: \ Projekte \ ACS \ sample.Acs.Administration \ UserControls \ TaxManager.ascx.cs: 88 System.Web.UI.Control.OnPreRender (EventArgs e) +8682870 System.Web.UI.WebControls.BaseDataBoundControl.OnPreRender (EventArgse) +31 Telerik.RadGridUtils.RadControl.OnPreRender (EventArgse) +36 Telerik.RadGridUtils.RadAJAXControl.OnPreRender (EventArgse) +37 Telerik .WebControls.RadGrid.OnPreRender (EventArgs e) +40 System.Web.UI.Control.PreRenderRecursiveInternal() + 80 System.Web.UI.Control.PreRenderRecursiveInternal() +171 System.Web.UI.Control.PreRenderRecursiveInternal() +171 System.Web.UI.Control.PreRenderRecursiveInternal() +171 System.Web.UI.Control.PreRenderRecursiveInternal() +171 System.Web.UI.Control.PreRenderRecursiveInternal() +171 System.Web .UI.Control.PreRenderRecursiveInternal() +171 System.Web.UI.Control.PreRenderRecursiveInternal() +171 System.Web.UI.Control.PreRenderRecursiveInternal() +171 System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +842
das ist das Gitter (rgstatetax) Prerender Ereignis
protected void rgStateTax_PreRender(object sender, EventArgs e)
{
if(rgStateTax.MasterTableView.IsItemInserted)
{
foreach(GridItem item in rgStateTax.Items)
{
item.Visible = false;
}
}
if(rgStateTax.EditItems.Count > 0)
{
foreach(GridDataItem item in rgStateTax.Items)
{
if(item != rgStateTax.EditItems[0])
{
item.Visible = false;
}
}
}
-Code in UI
protected void ddlCountryTax_SelectedIndexChanged (object sender, EventArgs e) { lang locationId = ddlCountryTax.SelectedItem.Value.AsLong();
ContentAdministrationServiceClient client = null;
List<DCTaxRate> taxRate = null;
try
{
client = new ContentAdministrationServiceClient();
taxRate = client.GetTaxRatesByCountryIdAndLocationTypeName(locationId, "State");
client.Close();
}
catch(FaultException)
{
AbortClient(client);
throw;
}
rgStateTax.DataSource = taxRate;
rgStateTax.Rebind();
}
-Code in Wrapper-Schicht
public List GetTaxRatesByCountryIdAndLocationTypeName (long countryid, string locationTypeName) { DCTaxRateCollection taxRates = new DCTaxRateCollection(); taxRates.GetByCountryIdAndLoactionTypeName (countryId, locationTypeName);
return taxRates.ToList();
}
public void GetByCountryIdAndLoactionTypeName(long countryId, string locationTypeName)
{
IBOTaxRateCollection iboTaxRates = new BOTaxRateCollection();
iboTaxRates.GetByCountryIdAndLocationTypeName(countryId, locationTypeName);
SetItems(iboTaxRates);
}
In Bo Schicht
public void GetByCountryIdAndLocationTypeName(long countryId, string locationTypeName)
{
ISingleResult<TaxRate> taxRates = Database.TaxRateReadByCountryIdAndLocationTypeName(countryId, locationTypeName);
PopulateCollection(taxRates);
}
ich machte appenddatabounditems zu wahren immer noch der gleiche Fehler kommt – peter
Wissen Sie, was der Wert gebunden ist? ist es Null oder ein anderer Wert, der nicht in der Liste ist? – Richard
lesen die landsammlung/list jenseits seiner bindung in das dropdown.Thats wat hier gehandelt ..Any way thanks 4 the replay – peter