كيف يمكنني إخفاء عمود فقط في صفحة القائمة في ASP.NET Dynamic Data؟
-
09-06-2019 - |
سؤال
هذا مشابه إلى حد ما ل هذا السؤال.
ومع ذلك، بدلاً من الرغبة في إخفاء عمود بالكامل، فإنني أتطلع فقط إلى إخفاء العمود الموجود في صفحة List.aspx.
المثال المحدد الخاص بي هو أن الحقول الطويلة (أو على الأقل nvarchar(MAX)) تختفي تلقائيًا من صفحة List.aspx كما هي ولكنها لا تزال مرئية في صفحة Edit.aspx.
أرغب في تكرار هذا السلوك لأعمدة أخرى (أقصر).
هل هذا ممكن؟
المحلول
يمكنك إنشاء صفحة مخصصة لجدول معين تريد تغييره.هناك مثال هنا.
ضمن صفحتك المخصصة، يمكنك بعد ذلك تعيينها AutoGenerateColumns="false"
في حدود asp:GridView
التحكم، ثم حدد الأعمدة التي تريدها بالضبط، مثل هذا:
<Columns>
...
<asp:DynamicField DataField="Product" HeaderText="Product" />
<asp:DynamicField DataField="Colour" HeaderText="Colour" />
</Columns>
نصائح أخرى
أعتقد أن هذا الحل مفيد حقًا، لأنه يسمح لك باستخدام نموذج السمة لتحديد الأعمدة التي ستنتقل إلى المكان:http://csharpbits.notaclue.net/2008/10/dynamic-data-hiding-columns-in-selected.html
إذا كنت تستخدم bootstrap، فيمكنك ضبطه على هذا النحو
<asp:DynamicField DataField="Id" ItemStyle-CssClass="hidden" HeaderStyle-CssClass="hidden" FooterStyle-CssClass="hidden"/>