كيف يمكنني إخفاء عمود فقط في صفحة القائمة في ASP.NET Dynamic Data؟

StackOverflow https://stackoverflow.com/questions/80175

  •  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"/>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top