Aus Neugier kann man ein Formular öffnenbasierend auf der Zeilenauswahl in einem Datagrid? Ich würde auch das Formular benötigen, um Informationen basierend auf dem Benutzernamen im Datagrid anzuzeigen. Der Benutzername der Person ist in der Zeile des Datagrids enthalten.
Antworten:
2 für die Antwort № 1Sie können dies unter dem folgenden Ereignis behandeln
dataGridView1_CellClick
Bekommen das CurrentCell
Wert der Datenansicht
Überprüfen Sie für die username
existiert oder nicht wie von Ihnen gewünscht und zeigt das entsprechende Formular
Beispielcode:
if (this.dataGridView1.CurrentCell != null)
{
string strusrname=dataGridView1.CurrentCell.Value.ToString();
//Here find out for the user name from the string as you get the currentcell value of the datagridview
// Raise the corresponding form as per you required
}
4 für die Antwort № 2
Sie müssen dies kodieren, aber es ist möglich.
Füllen Sie zunächst Ihr DataGrid mit Daten auf, die Sie verarbeiten können.
Lesen Sie im DataGrid-Ereignis "Selection Changed" diese Daten, erstellen Sie das anzuzeigende Formular (falls noch nicht vorhanden) und zeigen Sie es mit Show () an.
Dies wäre wie ein typisches Menüprogramm.
0 für die Antwort № 3
Nicht wirklich sicher, ob es das ist, was Sie danach suchen, da ichNicht "Nein", wenn Sie die Daten in einem anderen vorgefertigten Formular anzeigen oder ein neues erstellen möchten, aber hier geht es weiter. Auf diese Weise müssen Sie sich nicht einmal Gedanken über die ausgewählte Zeile machen, vorausgesetzt, Sie haben den Benutzernamen der an das Datagrid gebundenen Person.
<asp:HyperLinkcolumn DataNavigateUrlField="Username"
DataNavigateUrlFormatString="PersonForm.aspx?Username={0}"
HeaderText="More Details"
Text="View Person Details" />
Dann kann die PersonForm die Personendetails laden. Oder wenn Sie Hilfe benötigen, um die ausgewählte Zeile in itemcommand einzufangen, dann lassen Sie mich nein.
Hoffe das hilft.
BEARBEITEN: Nach dem Winforms-Tag-Update können Sie Folgendes interessieren: DataGridViewLink Auf MSDN
Der allgemeine Code lautet:
DataGridViewLinkColumn links = new DataGridViewLinkColumn();
links.UseColumnTextForLinkValue = true;
links.HeaderText = ColumnName.ReportsTo.ToString();
links.DataPropertyName = //Set your field here.
links.ActiveLinkColor = Color.White;
links.LinkBehavior = LinkBehavior.SystemDefault;
links.LinkColor = Color.Blue;
links.TrackVisitedState = true;
links.VisitedLinkColor = Color.YellowGreen;
DataGridView1.Columns.Add(links);
Wenn Sie einen Link hinzugefügt haben, können Sie ihn mit DataGridView1_CellContentClick abfangen und machen, was Sie möchten, dh ein neues Formular öffnen oder das aktuelle ändern.