Gridview列使可见的是非. [英] Gridview Column make visible true and false.

查看:80
本文介绍了Gridview列使可见的是非.的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想根据用户从复选框列表中选择列名称并取消选择来使gridview列可见对与错.我的代码如下

此代码位于按钮单击事件上:

  for ( int  i =  0 ;我<  = chklstSelectCol.Items.Count- 1 ; i ++)
       {
           如果(chklstSelectCol.Items [i] .Selected ==  false )
               grvadhocrpt.Columns [i] .Visible =  false ;
           其他
               grvadhocrpt.Columns [i] .Visible =  true ;
       }
grvadhocrpt.DataBind();




如果我在首次分配数据源时尝试使gridview的可见假列
这确实可以产生结果,但是之后不会

请帮忙,
vipul

解决方案

首先绑定网格,然后编写代码以使网格列可见false


 grvadhocrpt.DataSource = ds.Tables [ 0 ];会起作用.


 grvadhocrpt.DataSource = ds.Tables [ 0 ];
grvadhocrpt.DataBind();
 for ( int  i =  0 ; i <  = chklstSelectCol.Items.Count- 1 ; i ++)
{
如果(chklstSelectCol.Items [i] .Selected ==  false )
grvadhocrpt.Columns [ 2 ].Visible =  false ; // 指定项目号.代替我
其他
grvadhocrpt.Columns [ 2 ].Visible =  true ;
} 



您需要将

AutoGenerateColumns="false"

设置为aspx页面的gridview初始化代码.您是否设置了此属性.

另请参阅:
使用AutoGenerateColumns属性控制列呈现 [ http://stackoverflow.com/questions/114521/hide-asp-net-gridview-row [^ ]


I want to make gridview column visible true and false according user select column name from checkbox list and deselect.My code is as follow

this code is on button click event:

for (int i = 0; i <= chklstSelectCol.Items.Count - 1; i++)
       {
           if (chklstSelectCol.Items[i].Selected == false)
               grvadhocrpt.Columns[i].Visible = false;
           else
               grvadhocrpt.Columns[i].Visible = true;
       }
grvadhocrpt.DataBind();




if i tried to make visible false column of gridview when first assigning datasource
this do give result but after that it won''t

please help,
vipul

解决方案

You first bind the grid and then write the code to make grid column visible false
it will work.


grvadhocrpt.DataSource = ds.Tables[0];
grvadhocrpt.DataBind();
for (int i = 0; i <= chklstSelectCol.Items.Count - 1; i++)
{
if (chklstSelectCol.Items[i].Selected == false)
grvadhocrpt.Columns[2].Visible = false;// specify coloumn no. instead of i
else
grvadhocrpt.Columns[2].Visible = true;
}


Hi,
you need to set

AutoGenerateColumns="false"

to your gridview initialization code of aspx page. did you set this property.

also refer:
Using the AutoGenerateColumns attribute to control column rendering[^]
http://stackoverflow.com/questions/114521/hide-asp-net-gridview-row[^]


这篇关于Gridview列使可见的是非.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆