GridView的数据源

1、没有设置数据源时GridView不显示

2、设置数据源为null时,        GridView1.DataSource = null;    GridView1.DataBind();

3、设置数据源为数组时(支持一维数组而不支持二维数组):
private void Form1_Load(object sender, EventArgs e)
{
string[,] arr = new string[2, 3];
arr[0, 0] = "1";
arr[0, 1] = "2";
arr[0, 2] = "22";
arr[1, 0] = "3";
arr[1, 1] = "4";
arr[1, 2] = "2";
dataGridView1.DataSource = ProcessArr(arr);

}

private string[] ProcessArr(string[,] arr)
{
string[] newArr=new string[arr.Length];
int index =0;
for (int i = 0; i < arr.GetLength(0); i++)
{
for (int j = 0; j < arr.GetLength(1); j++)
{
newArr[index] = arr[i, j];
index++;
}
}

return newArr;
}
 
把二维数组转化为DataTalbe
protected void Page_Load(object sender, EventArgs e)
{
string[,] arr = new string[2, 3];
arr[0, 0] = "1";
arr[0, 1] = "2";
arr[0, 2] = "22";
arr[1, 0] = "3";
arr[1, 1] = "4";
arr[1, 2] = "2";
this.GridView1.DataSource = ConvertToDataTable(arr);
GridView1.DataBind();
}

private DataTable ConvertToDataTable(string[,] arr)
{

DataTable dataSouce = new DataTable();
for (int i = 0; i < arr.GetLength(1);i++ )
{
DataColumn newColumn = new DataColumn(i.ToString(), arr[0,0].GetType());
dataSouce.Columns.Add(newColumn);
}
for (int i = 0; i < arr.GetLength(0); i++)
{
DataRow newRow = dataSouce.NewRow();
for (int j = 0; j < arr.GetLength(1); j++)
{
newRow[j.ToString()] = arr[i, j];
}
dataSouce.Rows.Add(newRow);
}
return dataSouce;

}
 
4、使用TaskResults1.DisplayResults来显示SimpleTaskResult时出错“类型“HiddenField”的控件“TaskResults1_hfSelectedNode”必须放在具有 runat=server 的窗体标记内”,原因不清楚!????
但使用TaskResults1.BindToDataSet可以替代进行

posted on 2008-09-05 19:48  YISONG  阅读(735)  评论(0编辑  收藏  举报

导航