السلام عليكــم ورحمـة الله وبركاتــة
اريد تغيير forecolor للdatalist cell بناءا على شرط معين
السلام عليكــم ورحمـة الله وبركاتــة
اريد تغيير forecolor للdatalist cell بناءا على شرط معين
يا حى يا قيوم برحمتك أستغيث اصلح لى شأنى كله ولا تكلنى إلى نفسى طرفة عين
اللهم أعنا على ذكرك وشكرك وحسن عبادتك
اللهم انك عفو كريم حليم تحب العفو فاعفو عنا
اللهم إنى أسألك رضاك والجنة وأعوذ بك من سخطك والنار
اللهم إرحمنا فوق الأرض وإرحمنا تحت الأرض وإرحمنا وإعتق رقابنا يوم العرض
اللهم لا تدع لنا ذنبًا إلا غفرته ولا همًا إلا فرجته ولا مريضًا ولا دينًا إلا قضيته ولا عيبا إلا سترته ولا حاجًا هى لك رضا إلا قضيتها
اللهم انى أسألك موجبات رحمتك وعزائم مغفرتك والسلامة من كل إثم والغنيمة من كل بر والفوز بالجنة و النجاة من النار اللهم أمين يا رب العالمين
بفرض تغيير ال forecolor الخاص ب Label داخل ال Datalist Item Template اعتمادا علي قيمة معينة من قاعدة البيانات مثلا
بفرض ان الكود الخاص بال dataList بالشكل التالي :
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text="Label"
ForeColor='<%# GetForeColor(Eval("DBValue")) %>'>
</asp:Label>
</ItemTemplate>
</asp:DataList>و نفرض ان دالة GetForeColor بالشكل التالي :
protected System.Drawing.Color GetForeColor(object dbValue)
{
if (dbValue.ToString() == "someValue") return System.Drawing.Color.Blue;
return System.Drawing.Color.Red;
}تم تعديل هذه المشاركة بواسطة AhmedElbaz في 8 نوفمبر 2008 في 21:42
أخى الفاضل
انا استخدم
<ItemTemplate>
<asp:Label ID="Label1" runat="server" ForeColor='<%# GetForeColor(Eval("dbValue")) %>'> <%#Container.DataItem("ROOMF-KEY")%>
</asp:Label>
<br />
</ItemTemplate>ثم
Protected Function GetForeColor(ByVal DBValue As Object) As System.Drawing.Color If DBValue.ToString = "S001" Then Return System.Drawing.Color.Green ElseIf DBValue.ToString = "S002" Then Return System.Drawing.Color.Yellow ElseIf DBValue.ToString = "S003" Then Return System.Drawing.Color.Red ElseIf DBValue.ToString = "S004" Then Return System.Drawing.Color.Blue End If End Function
واستخدم ال function
GetForeColor(dr("ROOM-STATUS").ToString.Trim)حيث ان dr هي قيمه ل datarow في dataset
يظهر لى error عند القيمة الbold في ال itemtemplate
اقتباسDataBinding: 'System.Data.DataRowView' does not contain a property with the name 'dbvalue'"
عندما اغيرها ل
ForeColor='<%# GetForeColor(Eval("ٌROOM-STATUS")) %>'وهي القيمة التى اغير اللون بناء عليها لا يغير اللون لا اعرف السبب
هل يوجد حل
يا حى يا قيوم برحمتك أستغيث اصلح لى شأنى كله ولا تكلنى إلى نفسى طرفة عين
اللهم أعنا على ذكرك وشكرك وحسن عبادتك
اللهم انك عفو كريم حليم تحب العفو فاعفو عنا
اللهم إنى أسألك رضاك والجنة وأعوذ بك من سخطك والنار
اللهم إرحمنا فوق الأرض وإرحمنا تحت الأرض وإرحمنا وإعتق رقابنا يوم العرض
اللهم لا تدع لنا ذنبًا إلا غفرته ولا همًا إلا فرجته ولا مريضًا ولا دينًا إلا قضيته ولا عيبا إلا سترته ولا حاجًا هى لك رضا إلا قضيتها
اللهم انى أسألك موجبات رحمتك وعزائم مغفرتك والسلامة من كل إثم والغنيمة من كل بر والفوز بالجنة و النجاة من النار اللهم أمين يا رب العالمين
GetForeColor(dr("ROOM-STATUS").ToString.Trim)لما هذا الكود و اين ؟!
نفذ الخطوتين في مشاركتي السابقة بدون زيادة (جربتها تعمل بشكل جيد).
اتبعت ما قلته ولكن نفس الخطأ ظهر لى
ما اريده هو عندى ارقام غرف تتغير لونها حسب حالتها
هذا هو الكود داخل الداتا ليست لاظهار ارقام الغرف
<ItemTemplate>
<%#Container.DataItem("ROOMF-KEY")%>
<br />
</ItemTemplate>اريد هذه الأرقام تتغير الوانها بناءا على حالتها فارغة ام ممتليئة
فماذا افعل؟ اسفة للإزعاج
يا حى يا قيوم برحمتك أستغيث اصلح لى شأنى كله ولا تكلنى إلى نفسى طرفة عين
اللهم أعنا على ذكرك وشكرك وحسن عبادتك
اللهم انك عفو كريم حليم تحب العفو فاعفو عنا
اللهم إنى أسألك رضاك والجنة وأعوذ بك من سخطك والنار
اللهم إرحمنا فوق الأرض وإرحمنا تحت الأرض وإرحمنا وإعتق رقابنا يوم العرض
اللهم لا تدع لنا ذنبًا إلا غفرته ولا همًا إلا فرجته ولا مريضًا ولا دينًا إلا قضيته ولا عيبا إلا سترته ولا حاجًا هى لك رضا إلا قضيتها
اللهم انى أسألك موجبات رحمتك وعزائم مغفرتك والسلامة من كل إثم والغنيمة من كل بر والفوز بالجنة و النجاة من النار اللهم أمين يا رب العالمين
ركز شوية
لا ادري ما المشكلة في ذلك
انت تريد دالة تاخذ قيمة متغيرة و علي اساسها ترجع لون معين كما كتبتها انت بالشكل التالي
Protected Function GetForeColor(ByVal DBValue As Object) As System.Drawing.Color If DBValue.ToString = "S001" Then Return System.Drawing.Color.Green ElseIf DBValue.ToString = "S002" Then Return System.Drawing.Color.Yellow ElseIf DBValue.ToString = "S003" Then Return System.Drawing.Color.Red ElseIf DBValue.ToString = "S004" Then Return System.Drawing.Color.Blue End If End Function
و بعد ذلك يوجد لديك مثلا Label بداخل dataList و ال dataList لها dataSource يوفر هذا المتغير مثلا ROOMF-KEY
قم بعمل التالي بالنسبة لل Label.ForeColor
<asp:Label ID="Label1" runat="server" Text="Label"
ForeColor='<%# GetForeColor(Eval("ROOMF-KEY")) %>'
> </asp:Label>قم بالتجربة في صفحة جديدة
بالتوفيق
تم تعديل هذه المشاركة بواسطة AhmedElbaz في 10 نوفمبر 2008 في 08:26