2009-11-23 16 views
150

ato mi cuadrícula de datos utilizandoWPF DataGrid fila vacía en la parte inferior

//fill datagrid 
public DataTable GameData 
{ 
    get 
    { 
     DataSet ds = new DataSet(); 
     FileStream fs = new FileStream(IMDB.WebPage.Class.Config.XMLPath, 
     FileMode.Open, FileAccess.Read); 
     StreamReader reader = new StreamReader(fs, Encoding.Default); 
     ds.ReadXml(reader); 
     fs.Close(); 
     DataTable temp = ds.Tables[0]; 
     return ds.Tables[0]; 
    } 
} 

Por alguna razón me una fila vacía en la parte inferior. Y a veces, después de hacer clic en algunos botones y casillas de verificación en la grilla, se agregan más filas vacías.

¿Por qué es esto? ¿Y cómo bloqueo esto?

Respuesta

340

Parece que probablemente tiene CanUserAddRows establecido en true para DataGrid. Solo agregue

CanUserAddRows="false" 

al XAML.

+9

genial, eso funcionó! Extraño por qué esto está activado por defecto ... – WtFudgE

+0

corto y dulce :) Trabajó como un encanto! Gracias @Tomi –

+8

tenga en cuenta que incluso si la casilla de verificación en las propiedades de la cuadrícula está desmarcada, debe agregar explícitamente esa línea de código para ocultar la fila adicional (o marcar y desmarcar la casilla de verificación) –

3

Si va a crear cuadrícula de datos sobre la marcha a través del código fuente ...

DataGrid grid = new DataGrid(); 

grid.CanUserAddRows = false; 

//... 
grid.AutoGenerateColumns = false; 
grid.Margin = new Thickness(10,20,10,10); 
grid.VerticalAlignment = VerticalAlignment.Top; 
grid.ItemsSource = //... and so on 
13

También trabaja con el atributo:

IsReadOnly="true" 
Cuestiones relacionadas