将第一行datagrid设置为不同的颜色

时间:2016-07-27 09:46:11

标签: c# wpf datagrid

我有一个Datagrid,其中使用grid.Items.Insert(0, row);添加项目 我总是希望我插入的最后一行首先显示在Grid上。 我还希望第一行与其他颜色有不同的颜色。为此,我使用LoadingRow事件:

private void dataGrid_LoadingRow(object sender, DataGridRowEventArgs e)
{
 dataGrid.RowBackground = new SolidColorBrush(Colors.AntiqueWhite);//set all rows to default color
 e.Row.Background = new SolidColorBrush(Colors.CornflowerBlue); //set current=>1st row row to BLue                                
}

但是,添加的每一行都会变为彩色CornflowerBlue而以前添加的行未更改为AntiqueWhite。 我遗漏了一些明显的东西,非常感谢任何指导。

2 个答案:

答案 0 :(得分:0)

您需要遍历datagridview中的行,然后比较每行(示例列)上的第7列和第10列的值。

试试这个:

    <h3>Alarm Columns</h3>
    <ul class="alarmColumnOptions" ng-repeat="alarmOptions in alarmColumns track by $index">
        <li><label><input type="checkbox" name="alarmOptions.columnName" ng-model="alarmOptions.value" ng-change="setAlarmColumns(alarmColumns)"> {{alarmOptions.columnName}}</label></li>
    </ul>

答案 1 :(得分:0)

使用Insert而不是Add。这样,您可以指定要添加新记录的位置。要在网格顶部添加新记录,只需使用Insert(0)。

DataGridView1.Rows.Insert(0)// - 这将始终在顶部添加新记录 DataGridView1.Rows(0).Cells(n).Value =&#34; abc&#34; // - 这会将值设置为n列。