Я пытаюсь просмотреть значения из базы данных в DataGrid. У меня есть столбец с именем signature, который содержит изображения, хранящиеся в виде байтовых массивов. Однако я не знаю, как просматривать эти изображения в DataGrid.
Вот мой код:
DataTable dt = new DataTable("CustomerInformations");
string Cn = "Data Source=\\SQLEXPRESS;Initial Catalog=Export;Integrated Security=true;";
SqlConnection con = new SqlConnection(Cn);
con.Open();
SqlDataAdapter sqlDa = new SqlDataAdapter("select [Date],[CustomerName],[Amount],[Bank] ,[Signature] ,[IMEINumber] from PaymentReceipt where ReceiptID = 44", con);
sqlDa.Fill(dt);
con.Close();
this.dataGrid1.DataContext = dt;
В базе данных есть столбец с именем signature
. Тип данных varbinary
.
Прежде, чем я назначил объект данных datagrid1
, мне нужно преобразовать подпись (byte[]
) в изображение.
Вот мой код для преобразования byte[]
в изображение:
foreach (DataRow dr in dt.Rows)
{
byte[] bytes = (byte[])dr[4];
MemoryStream stream = new MemoryStream(bytes);
BitmapImage image = new BitmapImage();
image.BeginInit();
image.StreamSource = stream;
image.EndInit();
return image;
}
Я не знаю, как добавить возвращаемое изображение в поле подписи в datatable. Можете ли вы помочь мне?
Вот мой файл XAML
<Grid>
<DataGrid AutoGenerateColumns="true" Name="dataGrid1" ItemsSource="{Binding}" Height="260" Width="705">
</DataGrid>
</Grid>