De gerangschikte kolomindex van GridView ophalen

ik probeer de door Gridview geselecteerde kolomindex uit het wpf-programma te halen. ik kan de geselecteerde rij-index krijgen, maar niet de geselecteerde kolomindex

1

3 antwoord

Als u in de positie bent om de GridView -instelling te wijzigen in DataGrid , kunt u de onderstaande code proberen om de display-index van de huidige kolom van de DataGrid van code achter:

dataGrid.CurrentColumn.DisplayIndex

Deze CurrentColumn.DisplayIndex -eigenschap van DataGrid krijgt in principe de weergavevolgorde van de kolom ten opzichte van de momenteel weergegeven kolommen. Het biedt u de op nul gebaseerde positie van de kolom zoals deze wordt weergegeven in de bijbehorende DataGridView, of -1 als de band niet is opgenomen in een besturingselement.

Ik hoop dat de informatie nuttig voor je zal zijn ..

vriendelijke groeten

Debasis

0
toegevoegd
iedereen bedankt maar ik heb hier een andere oplossing voor gevonden. omdat ik de muispositie en de horizontale schuifbalkverschuiving nam om het kolomnummer te vinden met behulp van de werkelijke kolombreedte
toegevoegd de auteur Bayo Alen, de bron

Dit is hoe we de waarde van een specifieke cel kunnen krijgen

Object obj = GetCell(3).Content;
                     string cellContent = String.Empty;
                     if (obj != null)
                     {
                         if (obj is TextBox)
                             cellContent = ((TextBox)(obj)).Text;
                         else
                             cellContent = ((TextBlock)(obj)).Text;
                      }




private DataGridCell GetCell(int column)
    {
        DataGridRow rowContainer = GetRow();

        if (rowContainer != null)
        {
            DataGridCellsPresenter presenter = GetVisualChild(rowContainer);

           //Try to get the cell but it may possibly be virtualized.
            DataGridCell cell = (DataGridCell)presenter.ItemContainerGenerator.ContainerFromIndex(column);
            if (cell == null)
            {
               //Now try to bring into view and retreive the cell.
                customDataGrid.UCdataGridView.ScrollIntoView(rowContainer, customDataGrid.UCdataGridView.Columns[column]);
                cell = (DataGridCell)presenter.ItemContainerGenerator.ContainerFromIndex(column);
            }
            return cell;
        }
        return null;
    }

ik hoop dat het je helpt ...

0
toegevoegd
iedereen bedankt maar ik heb hier een andere oplossing voor gevonden. omdat ik de muispositie en de horizontale schuifbalkverschuiving nam om het kolomnummer te vinden met behulp van de werkelijke kolombreedte.
toegevoegd de auteur Bayo Alen, de bron
 protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
 {  
    string lbl_nam = (Label)GridView1.Rows[GridView1.SelectedIndex].FindControl("Label_nam");
    string nam = lbl_nam.Text;
  }
0
toegevoegd