<DataGrid x:Name="dataGrid" CanUserAddRows="False" Background="White" AutoGenerateColumns="True" ColumnWidth="140" Grid.Row="1" ItemsSource="{Binding}" IsReadOnly="True" SelectionUnit="FullRow" SelectionMode="Single" Sorting="dataGrdi_Sorting">
<!--行头色-->
<DataGrid.RowHeaderStyle>
<Style TargetType="DataGridRowHeader" >
<Setter Property="Width" Value="15"/>
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="White" Offset="0" />
<GradientStop Color="#323433" Offset="1" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Style>
</DataGrid.RowHeaderStyle>
<!--行色-->
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Background" Value="#e7e7e7" />
<Setter Property="Height" Value="25"/>
<Setter Property="Foreground" Value="Black" />
<Style.Triggers>
<!--隔行换色-->
<Trigger Property="AlternationIndex" Value="0" >
<Setter Property="Background" Value="#e7e7e7" />
</Trigger>
<Trigger Property="AlternationIndex" Value="1" >
<Setter Property="Background" Value="#f2f2f2" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="LightGray"/>
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Foreground" Value="Black"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
</DataGrid>
==============================================
/// <summary>
/// 添加的标题头
/// </summary>
/// <param name="dt"></param>
private void Grid_AddDataLine(DataTable dt)
{
dt.Columns.Add(new DataColumn("数据文件名"));
dt.Columns.Add(new DataColumn("用户编号"));
dt.Columns.Add(new DataColumn("用户姓名"));
dt.Columns.Add(new DataColumn("状态"));
dt.Columns.Add(new DataColumn("分配客服编号"));
dt.Columns.Add(new DataColumn("专家评估报告分配时间"));
dt.Columns.Add(new DataColumn("生成客服编号"));
dt.Columns.Add(new DataColumn("专家评估生成时间"));
dt.Columns.Add(new DataColumn("数据类型"));
dt.Columns.Add(new DataColumn("文件大小"));
dt.Columns.Add(new DataColumn("发布时间"));
dt.Columns.Add(new DataColumn("发布人编号"));
dt.Columns.Add(new DataColumn("数据编号"));
dt.Columns.Add(new DataColumn("报告数据编号"));
}
//排序
private void dataGrdi_Sorting(object sender, DataGridSortingEventArgs e)
{
//DataGrid dt = (DataGrid)sender;
int i = dataGrid.Columns.IndexOf(e.Column);
if (fir == false)
{
DataRow(i + 1, 0);
fir = true;
}
else
{
DataRow(i + 1, 1);
fir = false;
}
//object[] obj = dr.ItemArray;
e.Handled = true;
}
/// <summary>
/// 返回单行数据
/// </summary>
/// <returns></returns>
public bool DataRowItem()
{
DataRowView m = (DataRowView)dataGrid.SelectedItem;
DataRow dr = m.Row;
object[] obj = dr.ItemArray;
return _mainLogic.SoloMessage(obj);
}
//绑定数据
private void DataRow(int SortIndex,int SortType)
{
UserStateList(SortIndex, SortType);
dt = new DataTable();
Grid_AddDataLine(dt);
List<UserInfo_BLL> list = _mainLogic.WebQueryReportList();
//数据处理
foreach (UserInfo_BLL uif in list)
{
dr = dt.NewRow();
dr[0] = uif.firstfilename;
dr[1] = uif.membercode;
dr[2] = uif.username;
dr[3] = uif.status;
dr[4] = uif.usercode;
dr[5] = uif.distributetime;
dr[6] = uif.usercode1;
dr[7] = uif.servicetime;
dr[8] = uif.datatype;
dr[9] = uif.structlen;
dr[10] = uif.auditingtime;
dr[11] = uif.usercode2;
dr[12] = uif.monitorid;
dr[13] = uif.mserviceid;
dt.Rows.Add(dr);
dt.AcceptChanges();
}
dataGrid.ItemsSource = dt.DefaultView;
}
//
//隐藏行
dataGrid.LayoutUpdated += new EventHandler(dataGrid_LayoutUpdated);
void dataGrid_LayoutUpdated(object sender, EventArgs e)
{
if (dataGrid.Columns.Count >= 14)
{
//隐藏行号
dataGrid.Columns[12].Visibility = Visibility.Hidden;
dataGrid.Columns[13].Visibility = Visibility.Hidden;
}
}
//双击事件
dataGrid.MouseDoubleClick += new MouseButtonEventHandler(dataGrid_MouseDoubleClick);