一般DataTable操作数据库是下面的方式:
string selectCommand="select id, name form table";
string connstr = function.Conn();
OleDbConnection conn = new OleDbConnection(connstr);
conn.Open();
dataAdapter = new OleDbDataAdapter(selectCommand, conn);
DataTable table = new DataTable();
table.Locale = System.Globalization.CultureInfo.InvariantCulture;
dataAdapter.Fill(table);这样table得出的是两列的临时表:id name
1 语文
2 基础语文
3 高级语文
4 数学
5 高等数学
6 线性数学
7 英语.....两列都是简单的直接读取数据中数据的如果我想name列不是仅仅读取数据库中的数据,而是要根据某一特定规律显示(如:递归显示树效果,根据判断,在"name"列的数据前面加相应的符号如"├","└","│"等),得到下列临时表:id name
1 语文
2 ├基础语文
3 └高级语文
4 数学
5 ├高等数学
6 └线性数学
7 英语.....
该怎么写DataTable代码? 注:树效果只是举例,不是要求怎么实现树效果,只是想知道怎么能把DataTable中的数据能显示特定符号
string selectCommand="select id, name form table";
string connstr = function.Conn();
OleDbConnection conn = new OleDbConnection(connstr);
conn.Open();
dataAdapter = new OleDbDataAdapter(selectCommand, conn);
DataTable table = new DataTable();
table.Locale = System.Globalization.CultureInfo.InvariantCulture;
dataAdapter.Fill(table);这样table得出的是两列的临时表:id name
1 语文
2 基础语文
3 高级语文
4 数学
5 高等数学
6 线性数学
7 英语.....两列都是简单的直接读取数据中数据的如果我想name列不是仅仅读取数据库中的数据,而是要根据某一特定规律显示(如:递归显示树效果,根据判断,在"name"列的数据前面加相应的符号如"├","└","│"等),得到下列临时表:id name
1 语文
2 ├基础语文
3 └高级语文
4 数学
5 ├高等数学
6 └线性数学
7 英语.....
该怎么写DataTable代码? 注:树效果只是举例,不是要求怎么实现树效果,只是想知道怎么能把DataTable中的数据能显示特定符号
类似
id name pid
1 语文 0
2 基础语文 1
3 高级语文 1
4 数学 0
5 高等数学 1
6 线性数学 1具体标识有好几种办法了。最后写个递归修改下DataTable中相应数据(根据逻辑加上你的"├","└","│)
string selectCommand="select id, name form table";
string connstr = function.Conn();
OleDbConnection conn = new OleDbConnection(connstr);
conn.Open();
dataAdapter = new OleDbDataAdapter(selectCommand, conn);
DataTable table = new DataTable();
table.Locale = System.Globalization.CultureInfo.InvariantCulture;
dataAdapter.Fill(table);读取出来的datatable只是完全照读数据中的资料,这种方法,如果想显示数据外的其他字符(如name中数据加"├"),也只能在sql语句中做手脚,但在sql中做不来复杂的东西,如显示树效果,sql就很难实现了,所以,我想知道,可以怎样才能在name字段中按某一特定判断,在数据前面显示不同符号?
{
//如本来数据为"基础语文","高级语文"........
//修改后为 "└基础语文","└高级语文"
row["name "]="+"+row["name "].toString();
}
总之遍历DataTable.改你想改的就是了
row["name "]="└"+row["name "].toString();