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 · 249 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!