سلام
با توجه به آموزش مربوط به رسپانسیو کردن Gridview که لینک آن https://barnamenevisan.org/Articles/Article6239.html است.
در صورتی که ستونی مثل Id یا ... داشته باشیم و بخواهیم به جز روش های دیگر برای مخفی کردن از خصوصیات Footable استفاده کنیم چه کاری باید انجام داد.
باتوجه به راهنمای سایت اصلی آن باید از خصوصیتdata-visible استفاده کرد. در کد زیر میخواهم ستون شماره دو مخفی بشه ولی تاثیری ندارد و باز آن را نشان میدهد (در هر دستگاهی که باشد)
خط 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";
}
}
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 چرا استفاده کردی؟ طبق مثال پیش برو
سلام، ممنونم از جوابتون
بله شما درست میگی و این روش هم صحیحه ، مشکل من اینه که میخوام یک یا چند ستون کلا مخفی باشه و توی هیچ دستگاهی اون رو نشون نده.
مثلا ستون ID رو نمیخوام کاربر ببینه.
من قبلا از استایل Display:none برای سطر و ستونی که نمیخواستم نمایش داده بشه استفاده میکردم اما این استایل وقتی از Footable استفاده میکنم دیگه کار نمیده.
لینک سایت اصلی زیر توضیح میده که چطوری باید یه ستون رو مخفی کرد اما برای Table نه GridView
https://fooplugins.github.io/FooTable/docs/examples/basic/hiding-columns.html
خب کمی سرچ کن درباره 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]);
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)