其实,DataGrid就是html中的Table。
如果你用vs.net进行设计,那么DataGrid中每个列都是可以设置的。具体做法如下:
在视图设计器中右键点击DataGrid控件,然后点击“属性生成器”,点击格式->列,然后就可以对各个列进行列宽设置了。
在“格式”这个选项栏里,还有很多设置,自己看看就明白了。
如果你用vs.net进行设计,那么DataGrid中每个列都是可以设置的。具体做法如下:
在视图设计器中右键点击DataGrid控件,然后点击“属性生成器”,点击格式->列,然后就可以对各个列进行列宽设置了。
在“格式”这个选项栏里,还有很多设置,自己看看就明白了。
<asp:BoundColumn DataField="id" "id" >
<HeaderStyle Width="12%"></HeaderStyle>
</asp:BoundColumn>
2.添加滚动条,div
<div id=div1 WIDTH: 630px">
<asp:datagrid id="DataGrid1" ....
</div>
//.... make sure your DataGrid is using a tablestyle
dataGrid1.DataSource = _dataSet.Tables["customers"];
DataGridTableStyle dgts = new DataGridTableStyle();
dgts.MappingName = "customers";
dataGrid1.TableStyles.Add(dgts);
//......
//method to set a column with by colnumber
public void SetColWidth(DataGridTableStyle tableStyle, int colNum, int width)
{
try
{
tableStyle.GridColumnStyles[colNum].Width = width;
tableStyle.DataGrid.Refresh();
}
catch{} //empty catch .. do nothing
}
//....
// here is how you might call this method
private void button1_Click(object sender, System.EventArgs e)
{
DataGridTableStyle tableStyle = dataGrid1.TableStyles["customers"];
SetColWidth(tableStyle, 1, 200);
}
在视图设计器中右键点击DataGrid控件,然后点击“属性生成器可以对各个列进行列宽设置了。如果你对html比较熟悉的话,就可以直接对代码进行更改了
dt.Columns.Add("ID",typeof(int));
dt.Columns.Add("NAME",typeof(string));
dt.Columns.Add("SEX",typeof(string));
DataRow dr=dt.NewRow();
dr["id"]=001;
dr["name"]="宁采臣";
dr["sex"]="男";
dt.Rows.Add(dr);
dr=dt.NewRow();
dr["id"]=002;
dr["name"]="小倩";
dr["sex"]="女";
dt.Rows.Add(dr);
DataGridTableStyle dgts=new DataGridTableStyle();
dgts.MappingName="aa";
DataGridColumnStyle dgcs=new DataGridTextBoxColumn();
dgcs.MappingName="NAME";
dgcs.HeaderText="姓名";
dgcs.Width=200;
dgts.GridColumnStyles.Add(dgcs);
this.dataGrid1.TableStyles.Add(dgts); dgcs=new DataGridTextBoxColumn();
dgcs.MappingName="SEX";
dgcs.HeaderText="性别";
dgcs.Width=30;
dgts.GridColumnStyles.Add(dgcs);
this.dataGrid1.TableStyles.Add(dgts); dgcs=new DataGridTextBoxColumn();
dgcs.MappingName="ID";
dgcs.HeaderText="序号";
dgcs.Width=20;
dgts.GridColumnStyles.Add(dgcs);
this.dataGrid1.TableStyles.Add(dgts); this.dataGrid1.DataSource=dt;
我没试出你的方法。可能是我那没写对。