مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

مخفی کردن دائمی یک یا چند ستون Gridview با استفاده از پلاگین Footable (رسپانسیو)

شنبه, 28 دی 1398 23:14

مخفی کردن دائمی یک یا چند ستون Gridview با استفاده از پلاگین Footable (رسپانسیو)

سلام

با توجه به آموزش مربوط به رسپانسیو کردن Gridview که لینک آن  https://barnamenevisan.org/Articles/Article6239.html است.

در صورتی که ستونی مثل Id یا ... داشته باشیم و بخواهیم به جز روش های دیگر برای مخفی کردن از خصوصیات Footable استفاده کنیم چه کاری باید انجام داد.

باتوجه به راهنمای سایت اصلی آن باید از خصوصیتdata-visible استفاده کرد. در کد زیر میخواهم ستون شماره دو مخفی بشه ولی تاثیری ندارد و باز آن را نشان میدهد (در هر دستگاهی که باشدindecision)

خط 77 و خط 82


یا 

 protected void grd_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.Header)
            {
                TableCellCollection cell = e.Row.Cells;

                cell[3].Attributes.Add("data-hide", "tablet,phone");
                cell[4].Attributes.Add("data-hide", "tablet,phone");

                cell[2].Attributes.Add("data-visible", "false");
            }

            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                e.Row.Cells[2].Attributes["data-visible"] = "false";
            }
        }

یکشنبه, 29 دی 1398 14:11
 if (e.Row.RowType == DataControlRowType.Header)
                {
                    TableCellCollection cell = e.Row.Cells;
                    cell[2].Attributes.Add("data-hide", "tablet,phone");
                    cell[3].Attributes.Add("data-hide", "tablet,phone");
                    cell[4].Attributes.Add("data-hide", "tablet,phone");
                }

شما اینو نگاه کن

cell[2] من میخوام ستون سومم وقتی صفحه کوچیک شد بره زیر
("data-hide", "tablet,phone اینو مدم بهش

شما اومیدی data-visible دادی چرا؟

بعد مستقیم از e چرا استفاده کردی؟ طبق مثال پیش برو

یکشنبه, 29 دی 1398 16:58

سلام، ممنونم از جوابتون

بله شما درست میگی و این روش هم صحیحه ، مشکل من اینه که میخوام یک یا چند ستون کلا مخفی باشه و توی هیچ دستگاهی اون رو نشون نده.

مثلا ستون ID رو نمیخوام کاربر ببینه.

من قبلا از استایل Display:none برای سطر و ستونی که نمیخواستم نمایش داده بشه استفاده میکردم اما این استایل وقتی از Footable استفاده میکنم دیگه کار نمیده.

لینک سایت اصلی زیر توضیح میده که چطوری باید یه ستون رو مخفی کرد اما برای Table نه GridView

https://fooplugins.github.io/FooTable/docs/examples/basic/hiding-columns.html

چهارشنبه, 02 بهمن 1398 22:27

خب کمی سرچ کن درباره datakey بهت کمک میکنه

 DataKeyNames="Id"

, name , other key DataKeyNames="Id"

میتونی هرچیخواستی بزاری توش

رای گرفتنشم 

 //Determine the RowIndex of the Row whose Button was clicked.
    int rowIndex = ((sender as Button).NamingContainer as GridViewRow).RowIndex;
 
    //Get the value of column from the DataKeys using the RowIndex.
    int id = Convert.ToInt32(GridView1.DataKeys[rowIndex].Values[0]);

ارسال پاسخ برای این تاپیک