Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

slike u datagrid-u? (C#)

[es] :: .NET :: .NET Desktop razvoj :: slike u datagrid-u? (C#)

[ Pregleda: 3325 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dado49
home

Član broj: 53217
Poruke: 39
*.rev.stofanet.dk.



Profil

icon slike u datagrid-u? (C#)04.03.2007. u 13:20 - pre 208 meseci
Pokusavam da ubacim neke slike u datagrid. Slike su smjestene na c: drev-u.

Ovdje se kod koji koristim:

protected void getPictures()
{
DataTable dt = new DataTable("123");
dt.Columns.Add("abc", typeof(string));

string[] fileEntries = System.IO.Directory.GetFiles(Server.MapPath("./AlbumPictures/Ski/"));
int i;
for (i = 0; i <= fileEntries.Length - 1; i++)
{
DataRow dr = dt.NewRow();
string pic = fileEntries.GetValue(i).ToString().Replace(@"\", @"/");

dr["abc"] = "<img src=" + (char)34 + "" + pic + "" + (char)34 + " height=274 width=274>";


dt.Rows.Add(dr);
}

GridView1.DataSource = dt.DefaultView;
GridView1.DataBind();

}

Ovdje je rezultat:
ne razumijem zasto ne pokaziva sliku. kada ovaj kod ubacim u frontpage radi sve ok i slike se pojave.
abc
<img src="C:/Documents and Settings/Administrator/My Documents/Visual Studio 2005/WebSites/test.net/AlbumPictures/Ski/DSC00390.JPG" height=274 width=274>
<img src="C:/Documents and Settings/Administrator/My Documents/Visual Studio 2005/WebSites/test.net/AlbumPictures/Ski/DSC00391.JPG" height=274 width=274>
<img src="C:/Documents and Settings/Administrator/My Documents/Visual Studio 2005/WebSites/test.net/AlbumPictures/Ski/DSC00393.JPG" height=274 width=274>
<img src="C:/Documents and Settings/Administrator/My Documents/Visual Studio 2005/WebSites/test.net/AlbumPictures/Ski/DSC00394.JPG" height=274 width=274>
 
Odgovor na temu

IDeveloper
Beograd

Član broj: 136606
Poruke: 25
*.ptt.yu.



Profil

icon Re: slike u datagrid-u? (C#)04.03.2007. u 22:40 - pre 208 meseci
Problem je u tome što ti u tabeli držiš samo putanju do slike, kao string, ali ne i samu sliku. Ne znam koliko si upućen u ADO?! Sliku kao i svaki fajl možeš da čuvaš kao niz byte-ova u tabeli!
Pozdav!

[Ovu poruku je menjao mmwc dana 15.03.2007. u 09:33 GMT+1]
 
Odgovor na temu

IDeveloper
Beograd

Član broj: 136606
Poruke: 25
*.ptt.yu.



Profil

icon Re: slike u datagrid-u? (C#)04.03.2007. u 23:07 - pre 208 meseci
....Naravo, to se odnosi na slučaj ako želiš da ti tabela bude DataSource!

[Ovu poruku je menjao mmwc dana 15.03.2007. u 09:35 GMT+1]
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.donet.co.yu.



+311 Profil

icon Re: slike u datagrid-u? (C#)05.03.2007. u 00:05 - pre 208 meseci
Pretpostavljam da ti je putanja do slika dobra ali da grid pri rendanju odradi HTML enkodiranje putanje pa ne dobijes ono sto treba da dobijes.
Desni klik u browser-u - View Source, pa malo proanaliziraj HTML koji si dobio.

Pozdrav!



 
Odgovor na temu

IDeveloper
Beograd

Član broj: 136606
Poruke: 25
*.informatika.com.



Profil

icon Re: slike u datagrid-u? (C#)05.03.2007. u 09:51 - pre 208 meseci
Sada sam uhvatio malo vremena, pa da ne bude neosnovana moja priča evo i primera....
(Ja razvijam desktop aplikacije, pa sam kao kontrolu koristio DataGridView a kao kontejner klasicnu windows formu)
Code:

 private void Form1_Load(object sender, EventArgs e)
       {
           DataTable dt = new DataTable();
           dt.Columns.Add("abc", typeof(System.Byte[]));
           DataRow dr;
           dr = dt.NewRow();
           dr["abc"] = GetImageFromURL("C:\\burning-cds.jpg");
           dt.Rows.Add(dr);

           dataGridView1.DataSource = dt;

       }


       //Metod koji ucitava sliku sa diska i vraca je kao niz byte-ova
       private byte[] GetImageFromURL(string fileName)
       {

           System.IO.FileStream fs = new System.IO.FileStream(fileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);

           System.IO.BinaryReader br = new System.IO.BinaryReader(fs);

           return (br.ReadBytes(Convert.ToInt32(br.BaseStream.Length)));

       }


Grid je prazan, a kao što vidiš punim ga u loadu forme

[Ovu poruku je menjao mmwc dana 15.03.2007. u 09:35 GMT+1]
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
212.200.27.*



+311 Profil

icon Re: slike u datagrid-u? (C#)05.03.2007. u 12:23 - pre 208 meseci
Ma ok je to za windows sto pišes IDeveloper, samo koliko ja vidim čoveku treba za Web a ne za Windows, on čovek pravi web album slika sa skijanja :)
 
Odgovor na temu

IDeveloper
Beograd

Član broj: 136606
Poruke: 25
*.informatika.com.



Profil

icon Re: slike u datagrid-u? (C#)05.03.2007. u 13:00 - pre 208 meseci
Skapirao sam ja to! Nego sam naveo samo primer, kako to ja radim sa desktop aplikacijama(zbog toga sam to i naznačio), analogija je ista, čisto da ima primer kako to može da uradi ako želi da mu datasource bude datatable u projektu!
Pozdrav!

[Ovu poruku je menjao mmwc dana 15.03.2007. u 09:36 GMT+1]
 
Odgovor na temu

dado49
home

Član broj: 53217
Poruke: 39
*.rev.stofanet.dk.



Profil

icon Re: slike u datagrid-u? (C#)06.03.2007. u 19:28 - pre 208 meseci
Puno hvala na vrlo dobrim odgovrima :)

Kao sto Dusan kaze meni ne treba iz DB. Ali u svakom slucaju hvala.

Ovako izgleda kod u HTML-u:

<table cellspacing="0" rules="all" border="1" id="ctl00_phMain_GridView1" style="border-collapse:collapse;">
<tr>
<th scope="col">&nbsp;</th><th scope="col">abc</th>
</tr><tr>
<td></td><td>&lt;img height=&quot;100&quot; src=&quot;C:/Documents and Settings/Administrator/My Documents/Visual Studio 2005/WebSites/test/AlbumPictures/Ski/DSC00390.JPG&quot;/&gt;</td>

</tr><tr>
<td></td><td>&lt;img height=&quot;100&quot; src=&quot;C:/Documents and Settings/Administrator/My Documents/Visual Studio 2005/WebSites/testAlbumPictures/Ski/DSC00391.JPG&quot;/&gt;</td>
</tr><tr>
<td></td><td>&lt;img height=&quot;100&quot; src=&quot;C:/Documents and Settings/Administrator/My Documents/Visual Studio 2005/WebSites/test/AlbumPictures/Ski/DSC00393.JPG&quot;/&gt;</td>

</tr><tr>
<td></td><td>&lt;img height=&quot;100&quot; src=&quot;C:/Documents and Settings/Administrator/My Documents/Visual Studio 2005/WebSites/test/AlbumPictures/Ski/DSC00394.JPG&quot;/&gt;</td>
</tr>
</table>


 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.donet.co.yu.



+311 Profil

icon Re: slike u datagrid-u? (C#)06.03.2007. u 21:06 - pre 208 meseci
Umesto dosadasnje BoundField kolone koja ti je sluzila za prikaz slika napravi jednu TemplateField kolonu sa jednim span-om unutar item templejta te kolone tako da dobijes izmedju ostalog i sledeci kod u source-u grida na stranici:

Code:

   <asp:TemplateField>
      <ItemTemplate>
         <span id="imagespan" runat="server">
         </span>
      </ItemTemplate>
   </asp:TemplateField>


Dodaj handler za RowDataBound tvog GridView-a na sledecu funkciju:
Code:

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowIndex >= 0)
        {
            (e.Row.FindControl("imagespan") as HtmlGenericControl).InnerHtml = ((DataRowView)e.Row.DataItem)["abc"].ToString();
        }
    }


I gledaj da ti url-ovi za slike ne budu fizicke putanje vec relativne u odnosu na root site-a (dobra praksa), znaci valjalo bi da se oslobodis onog C:/Documents and Settings/Administrator/My... ako mozes...

Pozdrav!
 
Odgovor na temu

dado49
home

Član broj: 53217
Poruke: 39
*.rev.stofanet.dk.



Profil

icon Re: slike u datagrid-u? (C#)08.03.2007. u 21:12 - pre 208 meseci
Hvala na odgovoru.
Nisam bas neki ekspert sa datagrid ako mozes malo pojasniti kako da sve to napravim.

Recimo napravim jednu imagetemplate colum (nisam bas siguran da je ovo ok)
Code:

        <asp:GridView ID="GridView1" runat="server" >
            <Columns>
                <asp:ImageField DataImageUrlField="imagefile">  
                </asp:ImageField>
            </Columns>
            
         </asp:GridView>


kako sada u kodu da ubacim slike u ovu colum?
ovako dobijem slike?
Code:

        string[] fileEntries = System.IO.Directory.GetFiles(Server.MapPath("./AlbumPictures/Ski/"));
        int i;
        dim pic = "";
        for (i = 0; i <= fileEntries.Length - 1; i++)
        {
             pic = fileEntries.GetValue(i).ToString().Replace(@"\", @"/");
    
        }
 
Odgovor na temu

dado49
home

Član broj: 53217
Poruke: 39
*.ds1-aboes.adsl.cybercity.dk.



Profil

icon Re: slike u datagrid-u? (C#)29.04.2007. u 14:41 - pre 206 meseci
Pokusao sam na ovaj nacin ali mi necece nikako da prikaze slike.
dali neko vidi o cemu se rdi? Gdje sam pogrijesio.




GridView
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<span id="imagespan" runat="server">
</span>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>




codebehaind
protected void test()
{
DataTable datat = new DataTable();
DataRow datar;
datat.Columns.Add("1", typeof(string));

string[] allfiles = System.IO.Directory.GetFiles(Server.MapPath(@"~\Test\aa\"));

for (int i = 0; i <= allfiles.Length - 1; i++)
{
FileInfo finfo1 = new System.IO.FileInfo(allfiles);
datar = datat.NewRow();
datar["1"] = " <a href= " + " index.aspx " + "> <img src='" + finfo1.FullName + "' /> </a>";

datat.Rows.Add(datar);
}
GridView1.DataSource = datat.DefaultView;
GridView1.DataBind();
}

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex >= 0)
{
(e.Row.FindControl("imagespan") as HtmlGenericControl).InnerHtml = ((DataRowView)e.Row.DataItem)["1"].ToString();
}
}




HTML
ne razumijem zasto ne pokaziva slike?
<table cellspacing="0" rules="all" border="1" id="ctl00_phMain_GridView1" style="border-collapse:collapse;">
<tr>

<th scope="col">&nbsp;</th>
</tr><tr>
<td>
<span id="ctl00_phMain_GridView1_ctl02_imagespan">
</span>
</td>
</tr><tr>
<td>
<span id="ctl00_phMain_GridView1_ctl03_imagespan">

</span>
</td>
</tr><tr>
<td>
<span id="ctl00_phMain_GridView1_ctl04_imagespan">
</span>
</td>
</tr><tr>
<td>

<span id="ctl00_phMain_GridView1_ctl05_imagespan">
</span>
</td>
</tr><tr>
<td>
<span id="ctl00_phMain_GridView1_ctl06_imagespan">
</span>
</td>
</tr>

</table>
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: slike u datagrid-u? (C#)

[ Pregleda: 3325 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.