Du sätter DataKeyField i din datagrid (i kontrollen alltså), exempel:
DataKeyField="ID"
Och sen kan du hämta det genom att stoppa in ditt index:
DataGrid1.DataKeys[e.Item.ItemIndex];
6 svar · 261 visningar · startad av Mc Fetto
Jag hämtar data ifrån en databas och lägger detta i en datagrid:
query = "SELECT movie.Name AS Video, user.Name AS \"User name\" FROM movie, user, comments WHERE user.id = comments.u_Id AND movie.id = comments.m_Id;";
OdbcDataAdapter myCommand = new OdbcDataAdapter(query, MyConnection);
DataSet ds = new DataSet();
myCommand.Fill(ds, "Conn");
DataGrid1.DataSource=ds.Tables["Conn"].DefaultView;
DataGrid1.DataBind();
Sedan har jag lagt till så att man kan välja en av raderna och man hamnar då i denna proceduren:
public void MyDataGrid_Load(Object sender, DataGridCommandEventArgs e)
{
}
Problemet är att den är tom, för jag vet inte hur jag ska få ut värdet ur en column på en rad. Raden får jag fram genom att använda följande:
(int)e.Item.ItemIndex;
Vad för funktion kan jag använda för att "säga" till vilken kolumn man vill ha datan ifrån?
Du sätter DataKeyField i din datagrid (i kontrollen alltså), exempel:
DataKeyField="ID"
Och sen kan du hämta det genom att stoppa in ditt index:
DataGrid1.DataKeys[e.Item.ItemIndex];
Tackar
Men går det även att få ut det andra värdet (kolumnen) sen också eller det går ej?
Du kan få ut och bolla med alla värdenna i en datagrid och det finns lite olika lösningar. Här har du ett relativt enkelt och tydligt exempel som visar hur du kan bolla med innehållet i en datagrid:
Och koden till exemplet:
http://www.dotnetjunkies.com/quickstart/util/srcview.aspx?path=/quickstart/aspplus/samples/webforms/ctrlref/webctrl/datagrid/datagrid4.src&file=CS\datagrid4.aspx&font=3
Här är en bra och översiktlig beskrivning med många exempel på hur du kan arbeta med din datagrid:
Man tackar för länkarna
Jag löste det på ett lite "fulare" sätt (databasändring).
Ska dock ta en rejäl titt på länkarna då datagrids är lite luddigt för mig just nu!! Tack!