/ / Öffnen Sie ein Formular basierend auf einer Zeilenauswahl aus einem Datagrid - c #, winforms

Öffnen Sie ein Formular basierend auf einer Zeilenauswahl aus einem Datagrid - c #, winforms

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 № 1

Sie 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.