PDA

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 بروید ...