用模板列。然后写一个public函数。然后在datagrid的模板列中绑定上这个函数。一切OK。

解决方案 »

  1.   

    有个笨办法,自己建立一张table,包含10行,列根据数组大小取,再把datagrid的datasouce设置为table就可以,记录不多时,行、列可以换的
      

  2.   

    可以确定多少列吗?如果可以怎么做:
    DataTable mDt=new DataTable();
    mDt.Columns.Add("Col1");
    mDt.Columns.Add("Col2");
    mDt.Columns.Add("Col3"); char[] date;
    for (int n=0;n<10;n++)
    {
    DataRow mDr=mDt.NewRow; 
    mDr[0]=date[n].ToString(); 
    mDt.Rows.Add(mDr); 
    }
    //.........
    for (int n=0;n<10;n++)

    mDt.Rows[n][1]=date[n].ToString(); 
    }
    //..........
    for (int n=0;n<10;n++)

    mDt.Rows[n][2]=date[n].ToString(); 
    }
    dataGrid1.SetDataBinding(mDt, mDt.TableName);
      

  3.   

    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    this.DataGrid1.DataSource=null;
    this.DataGrid1.DataBind();
    private void Button1_Click(object sender, System.EventArgs e)
    {
    DataTable mytable=new DataTable ();

    mytable.Columns.Add("0",Type.GetType("System.String"));
    for(int j=0;j<10;j++)
    {
    string [] strlist={"0"};
    mytable.Rows.Add(strlist);
    mytable.Rows[j][0]=j.ToString();
    }
    for(int i=1;i<10;i++)
    {
    mytable.Columns.Add(i.ToString());
    for(int j=0;j<10;j++)
    {
    mytable.Rows[j][i]=i.ToString()+j.ToString();
    }
    }
    this.DataGrid1.DataSource=mytable;
    this.DataGrid1.DataBind();
    }}
      

  4.   

    数组的长度不固定!!
    且这个datagrid有第11行!!
    第11行是用来显示这个数组全部字符串的相加
    所以可能像下面这样
           1 2 3 4 5 6 7 8 9 10 11
    <第1组>A b v h j q d a t y u ( 如果数组还没结束就保持空白)
           K b h u I d           ( A b v h j q d a t y u K b h u I d}
    <第2组>......  <-新的数组开始
    ……………
    ………………………………
    而且每个数组的进来时都要计算是第几个
    然后显示在这个datagrid的最前面,就像上面那样我想这样可能很难实现吧
    可能要再用一个datagrid绑定第11行吧?