Liaison de colonne DataGridView dans WPF

Je veux concevoir un DataGrid comme indiqué dans l’image ci-dessous:

entrez la description de l'image ici

Je prévois de lier le DataGrid à la liste des objects d’une classe. Le cours que je prévoyais est

 class Class1 { public Int32 Index { get; set; } public ssortingng Colour { get; set; } public ssortingng Location { get; set; } public ssortingng Srno { get; set; } } 

J’ai un problème. Je voudrais avoir une propriété de couleur supplémentaire que je peux lier directement à la couleur de DataGrid dans column2. Mais comme je prévois de définir la liaison DataGrid sur la liste de cet object, la nouvelle propriété sera reconnue en tant que colonne. Comment puis-je éviter ça? Toutes les suggestions.

Vous pouvez définir AutoGenerateColumns sur False et vous charger de fournir la liste des colonnes à éviter, lors de la création automatique de colonnes lorsque les propriétés DataSource ou DataMember sont définies.

         
         

Voici comment procéder, si vous définissez la propriété Datagrid1.ItemsSource = une liste de Class1, comme suit.

  List myList = new List(); DataGrid1.ItemsSource = myList; 

J’espère que cela t’aides.

Vous souhaitez remplacer la valeur de la propriété Color par une autre valeur, qui peut être effectuée à l’aide de rowdatabound.

Lorsque vous définissez Autogenerate Columns = “false”

Colonnes: Index, Couleur, Emplacement et SrNo s’afficheront dans la grid de données

vous dites que vous avez une autre couleur dont la valeur doit remplacer COLOR Column dans la grid de données.Si je suis correct, vous pouvez le faire comme suit:

                

VB.net:

 Protected Sub GridView_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView.RowDataBound If e.Row.RowType = DataControlRowType.Header Or e.Row.RowType = DataControlRowType.DataRow Then End If If e.Row.RowType = DataControlRowType.DataRow Then Dim lblColor1 As Label lblColor1 = TryCast(e.Row.FindControl("lblColor"), Label) lblColor1.Text = dtData.Rows(e.row.rowindex).ItemArray(0).tossortingng() ' ' ItemArray Defined the Column Position. here give your Another Colour Column Value End If End Sub 

c # .net:

 protected void GridView_RowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.Header | e.Row.RowType == DataControlRowType.DataRow) { } if (e.Row.RowType == DataControlRowType.DataRow) { Label lblColor1 = default(Label); lblColor1 = e.Row.FindControl("lblColor") as Label; lblColor1.Text = dtData.Rows(e.Row.RowIndex).ItemArray(0).tossortingng(); // // ItemArray Defined the Column Position. here give your Another Colour Column Value } }