PDA

View Full Version : متفاوت کردن سایز یک عکس نسبت به دیگر عکسها



arsalansalar
سه شنبه 10 اردیبهشت 1387, 08:13 صبح
با سلام.
دوستان عزیز من در برنامه نویسی یک وب به یک مشکل خوردم که نمی توانم حل کنم.
من در صفحه اول سایتم که برای اخبار هست.دارای 10 خبر است که به همراه عکس مربوط به آن خبر در صفحه اول هست.
من می خواهم عکس اولین خبر از نظر سایز از همه بزرگتر باشد.
این کدی است که برای template دیتا گرید استفاده می کنم:

<ItemTemplate>
<tr style="border:0">
<td>
<asp:Image ID="Image1" runat="Server" align="left" Height="50" src='<%# Container.DataItem("img")%>'
Width="60" /> </td>
</tr>
</ItemTemplate>

اینهم کدی است که برای کوئری استفاده می کنم:


Sub BindDataGrid1()
Dim con As OleDb.OleDbConnection
Dim da As OleDbDataAdapter
Dim ds As DataSet
con = New OleDbConnection(String.Format("provider = microsoft.jet.oledb.4.0 ; data source = {0}", Server.MapPath("~") + "\App_Data\web.mdb"))
da = New OleDbDataAdapter("Select img,text From data Order By id desc", con)
ds = New DataSet
da.Fill(ds)
DataGrid2.DataSource = ds
DataGrid2.DataBind()
End Sub
تو page_load هم این کد را استفاده می کنم:


IfNot IsPostBack Then
Call BindDataGrid()
Call BindDataGrid1()
Call BindDataGrid2()
Call BindDataGrid4()
Call BindDataGrid3()
EndIf

arsalansalar
سه شنبه 10 اردیبهشت 1387, 13:25 عصر
کسی نیست نظری بدهد؟:عصبانی++:

Neo Persian
سه شنبه 10 اردیبهشت 1387, 13:55 عصر
در رويداد ondataboud گريد ميتونيد width و height اولين سطر رو بزرگتر كنيد

amir.NET2
سه شنبه 10 اردیبهشت 1387, 13:58 عصر
اگر دستی و با یک حلقه دیتا تیبل رو پرکنی به راحتی می تونی این کار رو انجام بدی ولی با این روش که از DataAdapter استفاده کردی کارت خیلی سخت میشه

بگو ببینم می تونی دیتا تیبل رو دستی با یک حلقه پر کنی یا نه ؟؟

e-shahshahani
سه شنبه 10 اردیبهشت 1387, 14:19 عصر
شاید کمکت کنه


private int x = 0;

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridView1.DataSource = ...
GridView1.DataBind();
}
}

protected void GridView1_DataBound(object sender, EventArgs e)
{
if (x == 0)
{
GridView1.Rows[0].Cells[2].Style["color"] = "#ff0000";
}

x++;
}

arsalansalar
سه شنبه 10 اردیبهشت 1387, 14:23 عصر
در رويداد ondataboud گريد ميتونيد width و height اولين سطر رو بزرگتر كنيد
دوست عزیز می شود یک مثال با کدهای من بزنید؟

arsalansalar
سه شنبه 10 اردیبهشت 1387, 14:25 عصر
شاید کمکت کنه


private int x = 0;

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridView1.DataSource = ...
GridView1.DataBind();
}
}

protected void GridView1_DataBound(object sender, EventArgs e)
{
if (x == 0)
{
GridView1.Rows[0].Cells[2].Style["color"] = "#ff0000";
}

x++;
}

دوست عزیزم می شود کد وبی دات نت بدهید؟

e-shahshahani
سه شنبه 10 اردیبهشت 1387, 14:27 عصر
دوست عزیزم می شود کد وبی دات نت بدهید؟

با عرض پوزش. خیر!

arsalansalar
سه شنبه 10 اردیبهشت 1387, 14:39 عصر
اگر دستی و با یک حلقه دیتا تیبل رو پرکنی به راحتی می تونی این کار رو انجام بدی ولی با این روش که از DataAdapter استفاده کردی کارت خیلی سخت میشه

بگو ببینم می تونی دیتا تیبل رو دستی با یک حلقه پر کنی یا نه ؟؟
من از حلقه زیر برای split کردن استفاده می کنم.
آیا با همین حلقه و دستکاری در آن می توانم به دستکاری اندازه عکس بپردازم؟
اگر جواب مثبت است لطفا کمک کنید.

Sub BindDataGrid()
Dim con As OleDb.OleDbConnection
Dim da As OleDbDataAdapter
Dim ds As DataSet
con = New OleDbConnection(String.Format("provider = microsoft.jet.oledb.4.0 ; data source = {0}", Server.MapPath("~") + "\App_Data\web.mdb"))
da = New OleDbDataAdapter("Select * From data Order By id desc", con)
ds = New DataSet
da.Fill(ds)
For i AsInteger = 0 To ds.Tables(0).Rows.Count - 1
Dim str AsString = ds.Tables(0).Rows(i)("ttx")
Dim ar() AsString = str.Split("/")
ds.Tables(0).Rows(i)("ttx") = ar(0)
Next
DataGrid1.DataSource = ds
DataGrid1.DataBind()
EndSub

twelve
سه شنبه 10 اردیبهشت 1387, 15:38 عصر
دوست عزیزم می شود کد وبی دات نت بدهید؟


VB.NET:



Private x As Integer = 0

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
If Not IsPostBack Then
GridView1.DataSource = "Your DataSource"
GridView1.DataBind()
End If
End Sub

Protected Sub GridView1_DataBound(ByVal sender As Object, ByVal e As EventArgs)
If x = 0 Then
GridView1.Rows(0).Cells(2).Style("color") = "#ff0000"
End If

x = x + 1
End Sub

Neo Persian
سه شنبه 10 اردیبهشت 1387, 18:33 عصر
دوست عزیز می شود یک مثال با کدهای من بزنید؟

زحمت مثال رو اين دوستمون كشيدن كه خوب تو اين كد ايشون رنگ سلول رو تغيير دادن
شما ميتونيد با استفاده از همين كد عكس مورد نظر در سطر اول رو پيدا كنيد و تغييراتي كه ميخواين رو اعمال كنيد


شاید کمکت کنه


private int x = 0;

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridView1.DataSource = ...
GridView1.DataBind();
}
}

protected void GridView1_DataBound(object sender, EventArgs e)
{
if (x == 0)
{
GridView1.Rows[0].Cells[2].Style["color"] = "#ff0000";
}

x++;
}

arsalansalar
شنبه 14 اردیبهشت 1387, 08:04 صبح
VB.NET:



Private x As Integer = 0

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
If Not IsPostBack Then
GridView1.DataSource = "Your DataSource"
GridView1.DataBind()
End If
End Sub

Protected Sub GridView1_DataBound(ByVal sender As Object, ByVal e As EventArgs)
If x = 0 Then
GridView1.Rows(0).Cells(2).Style("color") = "#ff0000"
End If

x = x + 1
End Sub



من از نسخه 2003 استفاده می کنم.برای همین زمانی که این کد را می نویسم اخطار می دهد که rows از اجزای دیتا گرید نیست.

twelve
شنبه 14 اردیبهشت 1387, 12:29 عصر
نسخه 2003 که اصلا گرید ویو نداره ، دیتا گرید داره ، که نسبت به گریدویو تفاون های نسبتا زیادی داره

arsalansalar
شنبه 14 اردیبهشت 1387, 14:45 عصر
خوب اگر بخواهم با دیتا گرید این کار را انجام دهم باید چه کار کنم؟

arsalansalar
یک شنبه 15 اردیبهشت 1387, 08:44 صبح
دوستان یعنی هیچ راهی وجود ندارد؟:افسرده:

e-shahshahani
یک شنبه 15 اردیبهشت 1387, 10:47 صبح
دوستان راهنمایی های خوبی به شما کردند. حالا خودتون با اشرافی که روی صورت مساله دارید سعی کنید حلش کنید.
برای یه برنامه نویس همیشه حداقل یه راه وجود داره!

arsalansalar
دوشنبه 16 اردیبهشت 1387, 10:35 صبح
با سلام
دوستان عزیز من برای متفاوت کردن اندازه عکس از کد زیر استفاده کردم ولی هیچ گونه تغییری در آن حاصل نمی شود.


DataGrid2.Rows(0).Style("width") = "700"
DataGrid2.Rows(0).Style("height") = "700"

twelve
دوشنبه 16 اردیبهشت 1387, 11:28 صبح
DataGrid2.Rows(0).Style("width") = "700"
DataGrid2.Rows(0).Style("height") = "700"


خب این چه ربطی به عکس داره؟

arsalansalar
سه شنبه 17 اردیبهشت 1387, 07:55 صبح
خوب منظور من اندازه عکسی است که در دیتا گرید نمایش میدهد.
چگونه به اندازه آن دسترسی داشته باشم؟