我使用DataTable 来绑定显示datagrid的内容,但是AddDataTableStyle()
怎么一点作用也没有,和没有用那个方法的外观一个样子,应该怎样子来控制datagrid的外观显示。
谢谢!

解决方案 »

  1.   

    datagrid的属性里就能定义它的style的!
      

  2.   

    我在datagrid的属性中的datatableStyles中,添加了一个datatableStyle,
    在datatablestyle的gridColumnStyles中添加了dataGridTextBoxColumn1,
    设置了mappingName,但是好像一点作用也没有,
    datagrid的显示还是还是原来那个样子
      

  3.   

    我定义了,但是没有起作用,我添加了一个datatableStyle1,设置mappingName为sizeInfo(我的表名),
    又在datatableStyle1的添加了2个dataGridTextBoxColumn1,设置mappingName为
    sizeNo,sizeName(字段名称),和headerText为尺码编号,尺码名称,
    但是任何的效果,这是怎么回事,需要其他什么操作啊,
      

  4.   

    你的Style有一个总的对应一个表的MappingName写了没有?你或者可以用DataSet来做DataGrid的数据源,用DataSet很方便的
      

  5.   

    这就比较奇怪了,你有没有让DataGrid的数据源是你的DataGrid阿?
      

  6.   

    to  mableboy() :我没有使用dataset数据控件,我都是使用代码来绑定数据显示了,to mableboy():DataGrid的数据源是不是指定datasource啊?
    datasource我是在代码中设定的,
      

  7.   

    是啊,我刚看了你上面的代码,你应该先定义DataGrid的style再定义数据原
    AddDataTableStyle();
    GridBind();
      

  8.   

    to mableboy():还是一样啊,没有任何改变,能不能发一个你做个给我看一下,
    [email protected]谢谢!怎么,我在datagrid中属性设置datatableStyles,怎么起不了作用,
      

  9.   

    在属性中设了以后系统自动生成的代码
    private void InitializeComponent()
    this.dataGrid1 = new System.Windows.Forms.DataGrid();
    this.dataGridTableStyle1 = new System.Windows.Forms.DataGridTableStyle();
    this.dataGridTextBoxColumn1 = new System.Windows.Forms.DataGridTextBoxColumn();
    this.dataGridTextBoxColumn2 = new System.Windows.Forms.DataGridTextBoxColumn();
    this.dataGridTextBoxColumn3 = new System.Windows.Forms.DataGridTextBoxColumn();
    this.dataGridTextBoxColumn4 = new System.Windows.Forms.DataGridTextBoxColumn();
    this.dataGridTextBoxColumn5 = new System.Windows.Forms.DataGridTextBoxColumn();
    this.dataGridTextBoxColumn6 = new System.Windows.Forms.DataGridTextBoxColumn();this.dataGrid1.ColumnHeadersVisible = false;
    this.dataGrid1.DataMember = "";
    this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
    this.dataGrid1.Location = new System.Drawing.Point(0, 64);
    this.dataGrid1.Name = "dataGrid1";
    this.dataGrid1.ReadOnly = true;
    this.dataGrid1.Size = new System.Drawing.Size(728, 368);
    this.dataGrid1.TabIndex = 0;
    this.dataGrid1.TableStyles.AddRange(new System.Windows.Forms.DataGridTableStyle[] {
      this.dataGridTableStyle1});
    // 
    // dataGridTableStyle1
    // 
    this.dataGridTableStyle1.AlternatingBackColor = System.Drawing.Color.Lavender;
    this.dataGridTableStyle1.DataGrid = this.dataGrid1;
    this.dataGridTableStyle1.GridColumnStyles.AddRange(new System.Windows.Forms.DataGridColumnStyle[] {
      this.dataGridTextBoxColumn1,
      this.dataGridTextBoxColumn2,
      this.dataGridTextBoxColumn3,
      this.dataGridTextBoxColumn4,
      this.dataGridTextBoxColumn5,
      this.dataGridTextBoxColumn6});
    this.dataGridTableStyle1.GridLineColor = System.Drawing.Color.MistyRose;
    this.dataGridTableStyle1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
    this.dataGridTableStyle1.MappingName = "Item";
    // 
    // dataGridTextBoxColumn1
    // 
    this.dataGridTextBoxColumn1.Format = "";
    this.dataGridTextBoxColumn1.FormatInfo = null;
    this.dataGridTextBoxColumn1.HeaderText = "问题";
    this.dataGridTextBoxColumn1.MappingName = "question";
    this.dataGridTextBoxColumn1.Width = 250;
    // 
    // dataGridTextBoxColumn2
    // 
    this.dataGridTextBoxColumn2.Format = "";
    this.dataGridTextBoxColumn2.FormatInfo = null;
    this.dataGridTextBoxColumn2.HeaderText = "状态";
    this.dataGridTextBoxColumn2.MappingName = "statue";
    this.dataGridTextBoxColumn2.Width = 75;
    // 
    // dataGridTextBoxColumn3
    // 
    this.dataGridTextBoxColumn3.Alignment = System.Windows.Forms.HorizontalAlignment.Center;
    this.dataGridTextBoxColumn3.Format = "";
    this.dataGridTextBoxColumn3.FormatInfo = null;
    this.dataGridTextBoxColumn3.HeaderText = "回复数";
    this.dataGridTextBoxColumn3.MappingName = "repnum";
    this.dataGridTextBoxColumn3.Width = 50;
    // 
    // dataGridTextBoxColumn4
    // 
    this.dataGridTextBoxColumn4.Format = "";
    this.dataGridTextBoxColumn4.FormatInfo = null;
    this.dataGridTextBoxColumn4.HeaderText = "最后回复人";
    this.dataGridTextBoxColumn4.MappingName = "repman";
    this.dataGridTextBoxColumn4.Width = 150;
    // 
    // dataGridTextBoxColumn5
    // 
    this.dataGridTextBoxColumn5.Format = "";
    this.dataGridTextBoxColumn5.FormatInfo = null;
    this.dataGridTextBoxColumn5.HeaderText = "最后回复时间";
    this.dataGridTextBoxColumn5.MappingName = "reptime";
    this.dataGridTextBoxColumn5.Width = 150;
    // 
    // dataGridTextBoxColumn6
    // 
    this.dataGridTextBoxColumn6.Format = "";
    this.dataGridTextBoxColumn6.FormatInfo = null;
    this.dataGridTextBoxColumn6.HeaderText = "最后回复内容(前50字)";
    this.dataGridTextBoxColumn6.MappingName = "reptext";
    this.dataGridTextBoxColumn6.Width = 300;                               //调用的函数
                            ques=new DataSet();
    ques.ReadXml("Questions.xml");
    dataGrid1.DataSource=ques.Tables[0].DefaultView;
      

  10.   

    还是没有弄好啊,哪位大哥发一个示例给我看一下,
    这样子比较明白,[email protected]谢谢!
      

  11.   

    这是我系统自动生成的代码
    // 
    // SizeList
    // 
    this.SizeList.BackgroundColor = System.Drawing.Color.White;
    this.SizeList.CaptionVisible = false;
    this.SizeList.DataMember = "";
    this.SizeList.Font = new System.Drawing.Font("宋体", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));
    this.SizeList.HeaderForeColor = System.Drawing.SystemColors.ControlText;
    this.SizeList.Location = new System.Drawing.Point(4, 136);
    this.SizeList.Name = "SizeList";
    this.SizeList.PreferredColumnWidth = 100;
    this.SizeList.PreferredRowHeight = 20;
    this.SizeList.ReadOnly = true;
    this.SizeList.Size = new System.Drawing.Size(288, 240);
    this.SizeList.TabIndex = 0;
    this.SizeList.TableStyles.AddRange(new System.Windows.Forms.DataGridTableStyle[] {
     this.SizeTableStyle});
    // 
    // SizeTableStyle
    // 
    this.SizeTableStyle.DataGrid = this.SizeList;
    this.SizeTableStyle.GridColumnStyles.AddRange(new System.Windows.Forms.DataGridColumnStyle[] {
     this.SizeNoColumn,
     this.SizeNameColumn});
    this.SizeTableStyle.HeaderForeColor = System.Drawing.SystemColors.ControlText;
    this.SizeTableStyle.MappingName = "SizeInfo";
    // 
    // SizeNoColumn
    // 
    this.SizeNoColumn.Alignment = System.Windows.Forms.HorizontalAlignment.Center;
    this.SizeNoColumn.Format = "";
    this.SizeNoColumn.FormatInfo = null;
    this.SizeNoColumn.HeaderText = "尺码编号";
    this.SizeNoColumn.MappingName = "SizeNo";
    this.SizeNoColumn.NullText = "";
    this.SizeNoColumn.Width = 75;
    // 
    // SizeNameColumn
    // 
    this.SizeNameColumn.Alignment = System.Windows.Forms.HorizontalAlignment.Center;
    this.SizeNameColumn.Format = "";
    this.SizeNameColumn.FormatInfo = null;
    this.SizeNameColumn.HeaderText = "尺码名称";
    this.SizeNameColumn.MappingName = "SizeName";
    this.SizeNameColumn.NullText = "";
    this.SizeNameColumn.Width = 75;
    哪里不对了啊,怎么起不了作用
      

  12.   

    public     static DataTable Execute_DataTable(string strSql)
    {

    OpenConn();
    DataSet myDs=new DataSet();
    try
    {
    SqlDataAdapter myDa=new SqlDataAdapter(strSql,myConn);
    myDa.Fill(myDs);
    return myDs.Tables[0];
    }
    catch(System.Data.SqlClient.SqlException e)
    {
    throw new Exception(e.Message);
    }
    finally
    {
    myDs.Dispose();
    CloseConn();
    }
    }
    这个是执行返回datatable的方法