现在的位置: 首页 > 综合 > 正文

利用style来控制datagrid的格式 – asp.net 教程

2013年08月26日 ⁄ 综合 ⁄ 共 3219字 ⁄ 字号 评论关闭

感觉先用的方法不太好,现在换一种写法。利用style来控制datagrid的格式,果然比上一种方法灵活多了!下面的改过的代码:

private void setup()

  {

   //创建dataset

   makeDataSet();

   //绑定myDataSet

   }

  public void makeDataSet()

  {

           //创建dataset实例

   myDataSet=new DataSet("myDataSet");

   //创建表DataTable的实例

            //添加表项目

   dataTable.Columns.Add("cComputerName");//电脑名称

   dataTable.Columns.Add("cIpAddress");//IP地址

   dataTable.Columns.Add("cMac");//网卡mac地址

   dataTable.Columns.Add("cUser");//当前用户

   dataTable.Columns.Add("cOther");//其它内容

   dataTable.Columns.Add("V");//用来隐藏输入焦点的列

   adddata();

   //将dataGrid1设为只读

   dataGrid1.ReadOnly=true;

   //指定dataGrid1列的外观

   dataGrid1.SetDataBinding(dataTable,"");

   DataGridTableStyle dataGridTableStyle=new DataGridTableStyle(false);

   dataGridTableStyle.MappingName="dataTable";

   dataGridTableStyle.AllowSorting=true;

   dataGridTableStyle.RowHeadersVisible=false;

   dataGridTableStyle.GridColumnStyles.Clear();

   //表格第0列

   DataGridTextBoxColumn scComPuterName=new DataGridTextBoxColumn();

   scComPuterName.MappingName="cComputerName";

   scComPuterName.HeaderText="电脑名称";

   scComPuterName.Alignment=HorizontalAlignment.Center;

   scComPuterName.Width=dataGrid1.Size.Width/100*15;

   scComPuterName.ReadOnly=true;

   dataGridTableStyle.GridColumnStyles.Add(scComPuterName);

   //第1列

   DataGridTextBoxColumn scIpAddress=new DataGridTextBoxColumn();

   scIpAddress.MappingName="cIpAddress";

   scIpAddress.HeaderText="IP地址";

   scIpAddress.Alignment=HorizontalAlignment.Center;

   scIpAddress.Width=dataGrid1.Size.Width/100*25;

   scIpAddress.ReadOnly=true;

   dataGridTableStyle.GridColumnStyles.Add(scIpAddress);

   //第2列

   DataGridTextBoxColumn scMac=new DataGridTextBoxColumn();

   scMac.MappingName="cMac";

   scMac.HeaderText="MAC地址";

   scMac.Alignment=HorizontalAlignment.Center;

   scMac.Width=dataGrid1.Size.Width/100*25;

   scMac.ReadOnly=true;

   dataGridTableStyle.GridColumnStyles.Add(scMac);

   //第3列

   DataGridTextBoxColumn scUser=new DataGridTextBoxColumn();

   scUser.MappingName="cUser";

   scUser.HeaderText="当前用户";

   scUser.Alignment=HorizontalAlignment.Center;

   scUser.Width=dataGrid1.Size.Width/100*15;

   scUser.ReadOnly=true;

   dataGridTableStyle.GridColumnStyles.Add(scUser);

   //第4列

   DataGridTextBoxColumn scOther=new DataGridTextBoxColumn();

   scOther.MappingName="cOther";

   scOther.HeaderText="其它内容";

   scOther.Alignment=HorizontalAlignment.Center;

   scOther.Width=dataGrid1.Size.Width/100*30;

   scOther.ReadOnly=true;

   dataGridTableStyle.GridColumnStyles.Add(scOther);

   //第5列,隐藏输入焦点的列

   DataGridTextBoxColumn sV=new DataGridTextBoxColumn();

   sV.MappingName="V";

   sV.HeaderText="";

   sV.Alignment=HorizontalAlignment.Center;

   sV.Width=0;

   sV.ReadOnly=true;

   dataGridTableStyle.GridColumnStyles.Add(sV);

   dataGrid1.TableStyles.Clear();

   dataGrid1.TableStyles.Add(dataGridTableStyle);

 

  }

 

  private void dataGrid1_Navigate(object sender, System.Windows.Forms.NavigateEventArgs ne)

  {

 

  }

  private void dataGrid1_CurrentCellChanged()

  {

   dataGrid1.CurrentCell = new DataGridCell(dataGrid1.CurrentCell.RowNumber,2);

 

  }

  private void adddata()

  {

   //添加测试数据

   for (int i=0;i<10;i++)

   {

    DataRow dataRow=dataTable.NewRow();

    dataRow["cComputerName"]="wuwj";

    dataRow["cIpAddress"]="192.168.10.30";

    dataRow["cMac"]="11-11-11-11-11";

    dataRow["cUser"]="wwj";

    dataRow["cOther"]="";

    dataRow["V"]="";

    dataTable.Rows.Add(dataRow);

   }

  }

 

 

抱歉!评论已关闭.