View Full Version : سوال: تغيير خصوصيات يك ليبل از طريقه ديتابيس
fozolefozola
چهارشنبه 13 آبان 1388, 23:30 عصر
شرمنده من نمي دونم چطور توضيح بدم
مثلا من مي خوام توي يك label هر چي كه در فيلد 1 تيبل DBtable در Sqlserver2008 قرار داره رو نشون بده
اگر بشه هر خاصيت label رو از ديتابيس بخونه بهتره
مثلا:color و يا text هر كدوم بصورت مجزا از ديتابيس بخونه
كه من بتونم همه تنظيمات در ديتابيسم داشته باشم
Exception
پنج شنبه 14 آبان 1388, 03:05 صبح
پس چرا هيچ كس جواب نميده
چقدر اين قسمت غير فعاله
ساعت 12 شب پست میزنی بعدشم انتظار داری تا ساعت 2 نصفه شب جواب گرفته باشی؟ باور کن هیچ فروم فارسی به این فعالی که تو انتظار داری وجود نداره!
اما جواب: خوب میتونی برای همه Propertyها از Data Binding استفاده کنی. مثلا برای Text و ForeColor که خواستی اینجوری میشه:
<asp:Label ID="Label1" runat="server" Text='<%#Eval("TextField")%>'
ForeColor='<%# System.Drawing.Color.FromName(DataBinder.Eval(Cont ainer.DataItem,"ColorField").ToString()) %>'>
</asp:Label>
fozolefozola
پنج شنبه 14 آبان 1388, 09:43 صبح
ساعت 12 شب پست میزنی بعدشم انتظار داری تا ساعت 2 نصفه شب جواب گرفته باشی؟ باور کن هیچ فروم فارسی به این فعالی که تو انتظار داری وجود نداره!
اما جواب: خوب میتونی برای همه Propertyها از Data Binding استفاده کنی. مثلا برای Text و ForeColor که خواستی اینجوری میشه:
<asp:Label ID="Label1" runat="server" Text='<%#Eval("TextField")%>'
ForeColor='<%# System.Drawing.Color.FromName(DataBinder.Eval(Cont ainer.DataItem,"ColorField").ToString()) %>'>
</asp:Label>
منظور شما از Data binding همينه؟
ميشه يك پروژه كوچيك و برام درست كنيد؟
و برام بذاريد؟
SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=ALI;Initial Catalog=test;Integrated Security=True;Pooling=False";
string search = @"SELECT * from label where id=1";
SqlDataAdapter sda = new SqlDataAdapter(search, con);
sda.SelectCommand.CommandType = CommandType.Text;
DataSet ds1 = new DataSet();
sda.Fill(ds1, search);
this.Repeater1.DataSource = ds1.Tables[search];
this.Repeater1.DataBind();
اگر ممكنه اين قسمت "System.Drawing.Color.FromName(DataBinder.Eval(Cont ainer.DataItem,"ColorField").ToString()) "هم بيشتر توضيح بدين
تا بتونم font و size font رو هم عوض كنم
fozolefozola
پنج شنبه 14 آبان 1388, 11:41 صبح
آقا شرمنده ها ولي مي تونم بدون repeater هم اينكار و بكنم؟
مستقيم وصل بشه
Exception
پنج شنبه 14 آبان 1388, 19:52 عصر
ببین، کلا به دو روش اطلاعات رو در فرم ها قرار میدن. یکیش همینی بود که دیدی و برای وقتی که یک لیست رو میخوای نمایش بدی به درد میخوره. یکی دیگه هم اینکه از دیتابیس اطلاعات رو بخونی و توی Code-Behind ویژگیها رو دستی ست کنی که برای وقتی که فقط یک آیتم داره نمایش داده میشه کاربرد داره.
توضیح بیشتر در مورد کد:
اون قسمت ()DataBinder.Eval(Container.DataItem,"ColorField").ToString که کارش اینه که اطلاعات فیلد فرضی به اسم ColorField رو میخونه و خروجی String میده. بعد خروجیش به تابع System.Drawing.Color.FromName داده میشه تا این String به نوع Color تبدیل بشه و بتونی به ForeColor نسبت بدیش.
برای تبدیلها متفرقه دیگه (مثل همین font که گفتی) میتونی خودت تابع بنویسی که مثلا نام و سایز فونت رو بگیره و فونت مورد نظر رو برگردونه و بعدش خروجی Eval رو به تابع خودت بدی.
fozolefozola
شنبه 16 آبان 1388, 11:27 صبح
در مورد Code-Behind بيشتر توضيح ميديد؟
مثالم بزنيد ممنون ميشم
khz-web1
شنبه 16 آبان 1388, 18:44 عصر
کد نویسی HTML رو از ASP.NET جدا کرده .... یعنی واسه کدنوسی ASP.NET باید تو حالت کد نویسی برید .... وبرای HTML و امثال اون (منظور زبان ها سمت کاربر) باید به قسمت source بروید ...
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.