non ho per nulla le idee chiare!... pur avendo guardato degli esempi...

Dunque ecco il mio datagrid:
<aspataGrid id="dgNews" runat="server" BorderWidth="1px" OnSortCommand="Filtra" AutoGenerateColumns="False"
AllowSorting="True" AllowPaging="True" CellPadding="2" OnPageIndexChanged="saltapagina" AllowCustomPaging="True"
PageSize="5" Width="603px" BorderColor="#00445F" OnEditCommand="dgNews_Edit" OnCancelCommand="dgNews_Cancel"
OnUpdateCommand="dgNews_Update">
<FooterStyle cssclass="t11"></FooterStyle>
<HeaderStyle cssclass="t11"></HeaderStyle>
<ItemStyle cssclass="t11"></ItemStyle>
<PagerStyle nextpagetext="Pagina successiva" prevpagetext="Pagina precedente"></PagerStyle>
<Columns>
<asp:TemplateColumn SortExpression="Data" HeaderText="Data" ItemStyle-Width="75px">
<ItemTemplate>
<%#left(Container.DataItem("data"),10)%>
</ItemTemplate>
<EditItemTemplate>
<asp:textbox id="tbData" runat=server Text='<%#left(Container.DataItem("data"),10)%>' width=75/>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn SortExpression="Titolo" HeaderText="Titolo" ItemStyle-Width="100px">
<ItemTemplate>
<%#Container.DataItem("Titolo")%>
</ItemTemplate>
<EditItemTemplate>
<asp:textbox id="tbTitolo" runat=server Text='<%#Container.DataItem("Titolo")%>' Rows="3" TextMode="MultiLine" width=100/>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn SortExpression="Descrizione" HeaderText="Descrizione" ItemStyle-Width="153px">
<ItemTemplate>
<%#Container.DataItem("Descrizione")%>
</ItemTemplate>
<EditItemTemplate>
<asp:textbox id="tbDescrizione" runat=server Text='<%#Container.DataItem("Descrizione")%>' Rows="3" TextMode="MultiLine" width=153/>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn SortExpression="Link" HeaderText="Link" ItemStyle-Width="100px">
<ItemTemplate>
<%#Container.DataItem("Link")%>
</ItemTemplate>
<EditItemTemplate>
<asp:textbox id="tbLink" runat=server Text='<%#Container.DataItem("Link")%>' width=100/>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn SortExpression="Foto" HeaderText="Foto" ItemStyle-Width="75px">
<ItemTemplate>
<%#Container.DataItem("Foto")%>
</ItemTemplate>
<EditItemTemplate>
<asp:textbox id="tbFoto" runat=server Text='<%#Container.DataItem("Foto")%>' width=75/>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn SortExpression="Categoria" HeaderText="Categoria" ItemStyle-Width="100px">
<ItemTemplate>
<%#Container.DataItem("Categoria")%>
</ItemTemplate>
<EditItemTemplate>
<asp:ListBox id="lbCat" runat="server" Width="100px" Rows="1" DataTextField="Categoria" DataValueField="IdCat" AutoPostBack="false"/>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn SortExpression="Visibile" HeaderText="Visibile" ItemStyle-Width="100px">
<ItemTemplate>
<asp:CheckBox id="Visibile" runat="server" Enabled="False" Checked='<%#Container.DataItem("Visibile")%>'/>
</ItemTemplate>
<EditItemTemplate>
<asp:CheckBox id="cbVisibile" runat="server" Checked='<%#Container.DataItem("Visibile")%>'/>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:EditCommandColumn EditText="clicca qui" CancelText="Cancel" UpdateText="Update" HeaderText="Edit" />
</Columns>
</aspataGrid>
nel codebehind la binddata che mi popola il datagrid:
Sub BindData(Optional ByVal EditIndex As Integer = -1)

Dim DSN As String = System.Configuration.ConfigurationSettings.AppSett ings("connessione")
Dim Conn As OleDbConnection
Conn = New OleDbConnection(DSN)

Conn.Open()

Dim sql As String = "SELECT * FROM News_Cat INNER JOIN News ON News_Cat.IdCat = News.IdCat Order by Data desc"
Dim CmdNews As New OleDbCommand(sql, Conn)
Dim RNews As OleDbDataReader
RNews = CmdNews.ExecuteReader
dgNews.DataSource = RNews
If Not EditIndex.Equals(Nothing) Then
dgNews.EditItemIndex = EditIndex
End If
dgNews.DataBind()
Conn.Close()

Conn.Close()

End Sub
poi mi perdo... come faccio nella modalità edit, ad esempio a popolare la listbox con le categorie della tabella t_Categorie (IdCat, Categoria)?... e poi vabbè un po' tutto il meccanismo è poco chiaro... cmq andiamo per gradi, prima visualizziamo in modalità modifica tutti i dati al posto giusto! Che già è tanto!

Ho scritto:
Sub dgNews_Edit(ByVal obj As Object, ByVal e As DataGridCommandEventArgs)
BindData(e.Item.ItemIndex)
End Sub
ma non so come iviare i dati alla listbox...

un aiutino, grazie Elisa