我有一个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
。
我遗漏了一些明显的东西,非常感谢任何指导。
答案 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列。