Zdravím Vás,
potřeboval bych poradit jak vytvořit v datagridview images columns, zde je ukazka meho scriptu.Sloupec se vytvoří spravne,ale kdyz chci přidat řádek s obrazkem(ico), tak mi to vypise chybu Parameter is not valid. označil jsem radek tučně kde je tato chyba všem za pripadne rady
private DataTable VytvorTabulkuAlba(string kategorie, string pismeno, string interpret)
{
OvlFce fce = new OvlFce();
//databaze
string login = "SERVER=localhost;" + "DATABASE=jukebox;" + "UID=root;" + "PASSWORD=102030;" + "CharSet=utf8;";
MySqlConnection pripojeni = new MySqlConnection(login);
MySqlCommand prikaz = pripojeni.CreateCommand();
MySqlDataReader Cist;
if (kategorie == "nic" && pismeno == "nic" && interpret != "nic")
{
prikaz.CommandText = "SELECT album FROM hudba WHERE interpret='" + interpret + "'GROUP BY album";
}
else
{
prikaz.CommandText = "SELECT album FROM hudba WHERE interpret='" + interpret + "' AND kategorie=" + kategorie;
}
pripojeni.Open();
Cist = prikaz.ExecuteReader();
DataTable abeceda = new DataTable("tabulky");
DataColumn sloupec;
DataRow radek;
//obrazek
sloupec = new DataColumn();
sloupec.DataType = System.Type.GetType("System.String");
sloupec.ColumnName = "obr";
//sloupec.AutoIncrement = true;
sloupec.Caption = "obr";
sloupec.ReadOnly = true;
//sloupec.Unique = false;
abeceda.Columns.Add(sloupec);
//slopec-data z db
sloupec = new DataColumn();
sloupec.DataType = System.Type.GetType("System.String");
sloupec.ColumnName = "album";
//sloupec.AutoIncrement = true;
sloupec.Caption = "album";
sloupec.ReadOnly = true;
//sloupec.Unique = false;
abeceda.Columns.Add(sloupec);
//cas
sloupec = new DataColumn();
sloupec.DataType = System.Type.GetType("System.String");
sloupec.ColumnName = "cas";
//sloupec.AutoIncrement = true;
sloupec.Caption = "cas";
sloupec.ReadOnly = true;
//sloupec.Unique = false;
abeceda.Columns.Add(sloupec);
//radek zpet
radek = abeceda.NewRow();
radek["album"] = " Zpět";
abeceda.Rows.Add(radek);
//vypis z db
while (Cist.Read())
{
string vypis = "";
for (int i = 0; i < Cist.FieldCount; i++)
{
vypis += Cist.GetValue(i).ToString();
radek = abeceda.NewRow();
radek["album"] = vypis;
abeceda.Rows.Add(radek);
}
}
pripojeni.Close();
//radek zpet
radek = abeceda.NewRow();
radek["album"] = " Zpět";
abeceda.Rows.Add(radek);
//skladby
prikaz.CommandText = "SELECT skladba,cas FROM hudba WHERE interpret='" + interpret + "'";
pripojeni.Open();
Cist = prikaz.ExecuteReader();
while (Cist.Read())
{
radek = abeceda.NewRow();
Bitmap img = new Bitmap(start + @"\images\mp3.ico");//zde mi ta hlásí chybu "Parameter is not valid."
radek["img"] = img;
radek["album"] = Cist.GetValue(0).ToString();
radek["cas"] = fce.cas(System.Convert.ToInt32(Cist.GetValue(1).ToString()));
abeceda.Rows.Add(radek);
}
pripojeni.Close();
return abeceda;
}
zde ukazka jak vytvařím datagridview
DataTable dat = VytvorTabulkuAlba("nic", "nic", interpr);
this.album.DataSource = dat;
vsem dekuji za rady!