Ciao,
grazie della risposta. Io nel frattempo ho risolto il problema in questo modo, da questo codice capisci anche di cosa avevo bisogno:
codice:
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
switch (e.Item.ItemType)
{
case ListItemType.AlternatingItem:
case ListItemType.Item:
case ListItemType.EditItem:
... codice vario ...
Label labAppo = null;
//associazione gridview al record
string param1 = "", param2 = "", param3 = "", param4 = "", retMess = "";
GridView gvRec = (GridView)e.Item.FindControl("gvNotaa1");
labAppo = (Label)e.Item.FindControl("param1");
param1 = labAppo.Text;
labAppo = (Label)e.Item.FindControl("param2");
param2 = labAppo.Text;
labAppo = (Label)e.Item.FindControl("param3");
param3 = labAppo.Text;
labAppo = (Label)e.Item.FindControl("param3");
param4 = labAppo.Text;
gvRec.DataSource = eventiMethods.GetNotePerQuestoItem(param1, param2, param3, param4, out retMess);
gvRec.DataBind();
... codice vario ...
break;
default:
break;
}
}
Il mio obbiettivo era di ottenere questo risultato usando però un object data source per ogni gridview, ovvero avere questo codice:
codice:
<asp:ObjectDataSource ID="Eve" TypeName="evenNeg" SelectMethod="GetElenco"
runat="server" OnSelecting="Eve_Selecting" OnSelected="Eve_Selected">
</asp:ObjectDataSource>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:DataList ID="DataList1" runat="server" DataSourceID="Eve" Visible="false"
OnItemDataBound="DataList1_ItemDataBound" DataKeyField="IDcampo" OnItemCommand="DataList1_ItemCommand">
<HeaderTemplate>
... svariato codice ...
</HeaderTemplate>
<ItemTemplate>
<asp:Table ID="tabItem" runat="server">
... svariato codice ...
</asp:Table>
<div class="divDettagli">
... svariato codice ...
<h3>NOTE</h3>
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:objectDataSource ... ></asp:objectDataSource>
<!--Ogni gridview doveva essere associato al corrispettivo objectdatasource dentro questo updatePanel,
in fase di select volevo personalizzare i campi di select tramite i campi dell'item in cui mi trovo
(che arrivano dalla select di ObjectDataSource con ID="Eve" -->
<asp:GridView runat="server" ID="gvNotaa1" DataKeyNames="...campi chiave..."
OnRowDataBound="gvNote_RowDataBound" OnRowDeleting="gvNote_RowDeleting">
<Columns>
... le varie colonne ...
</Columns>
</asp:GridView>
... svariato codice ...
</ContentTemplate>
</asp:UpdatePanel>
</div>
</ItemTemplate>
</asp:DataList>
</ContentTemplate>
</asp:UpdatePanel>
Però in questo modo non riuscivo in fase di esecuzione a specificare i parametri per la SELECT