Witam!
Chcę wyswietlić w DataGridView tabele, gdzie jedna z kolumn zawiera pliki różnego rodzaju. W tej chwili napisałem sobie klasę z zapytaniem Linq wyświetlającym daną kolumnę, którą podpinam do istniejącego DataGridView, na której ma byc to wyświetlane. sposób taki jednak jest mało efektywny bo w polach kolumny która zawiera obrazki albo pliki .pdf, są wyświetlane tylko początkowe piksele licząc od lewego górnego rogu obrazka, czyli wsp. (0,0) - w przypadku obrazka, a w przypadku pliku pdf zaraz po wyświetleniu tabeli wyskakuje komunikat o błędzie DataGridView ze względu na niezgodność wyświetlenia typu, tyle że nie mogę sobie pozwolic na włączenie AutoSize w tym DataGridView, bo tabela zrobiła by się bardzo nieczytelna w przypdaku dużej ilości rekordów.
Myslę, że najlepiej by było zastąpić pola w tej kolumnie buttonami albo linkami do znajdującego sie pod nim pliku, aby mozna było go ściągnąć, ale problem w tym że VS 2010 nie przyjmuje tworzenia nowych kolumn z kodu w obrębie istniejącego DataGridView (można tylko zmieniać jego właściwości :/)
Miejsce gdzie w pliku nazwa.Designer.cs powinna byc zdefiniowana ta kolumna wygląda tak:
//
// dataGridView1
//
this.dataGridView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Location = new System.Drawing.Point(12, 12);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.ReadOnly = true;
this.dataGridView1.Size = new System.Drawing.Size(793, 351);
this.dataGridView1.TabIndex = 0;
//this.dataGridViewButtonColumnSkan = new System.Windows.Forms.DataGridViewButtonColumn();
//this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[]
//{
// this.dataGridViewButtonColumnSkan,
//});
klasa wyświetlająca:
class ClassShowBadania
{
public static BindingSource getStandardBindingSource()
{
BudSystemEntities bazaBudSystem = new BudSystemEntities();
BindingSource bindingSource = new BindingSource();
bindingSource.DataSource =
from badanie in bazaBudSystem.Badania
select new
{
Nazwa = badanie.nazwa,
Numer = badanie.numer,
Imię = badanie.Pracownicy.imie,
Nazwisko = badanie.Pracownicy.nazwisko,
DataWydania = badanie.dataOd,
DataWażności = badanie.dataDo,
Skan = badanie.skanDokumentu
};
return bindingSource;
}
}
Czy ktoś może wie jak to przerobić??