private void ShowInformation()...{ DataTable dt = oss.GetOutStoreSearchResult(oss); bb = this.gvOutStore.ControlStyle.Height; if (dt.Rows.Count == 0) ...{ AddDummyData(dt); //如果没有数据时,添加一列空值 for (int i = 1; i < gvOutStore.Columns.Count; i++) ...{ this.gvOutStore.Columns[i].Visible = false; //这个是把除第一列以外得所有列都隐藏起来 } this.gvOutStore.Columns[0].HeaderText = "显示标题。<table style="vertical-align: bottom; width: 100%; text-align: left"><tr><td align="left" >暂无XXXX信息。</td></tr>"; this.gvOutStore.ControlStyle.Height = 0; this.hfOutStoreID.Value = "-1"; } else ...{ for (int i = 1; i < gvOutStore.Columns.Count; i++) ...{ this.gvOutStore.Columns[i].Visible = true; //显示所以已经隐藏起来得列. } //this.gvOutStore.ControlStyle.Height = bb; this.gvOutStore.Columns[0].HeaderText = ""; } this.gvOutStore.DataSource = dt; this.gvOutStore.DataBind();}//如果为空得时候就添加一行空得记录 private void AddDummyData(DataTable dt) ...{ DataRow newRow = dt.NewRow(); dt.Rows.Add(newRow); } 我想还有好多其它方法可以做到这一点. 这种法子还有一个缺点是,它得高度不知道怎么弄,我测试了一下,目前还没有发现在什么问题。