--

Code
1 //绑定所有列
2 string connStr = @"Data Source=192.168.1.2\sqlexpress;Initial Catalog=SchoolMIS1ForBS;User ID=sa;password=sa1";
3 SqlConnection conn = new SqlConnection(connStr);
4 SqlCommand cmd = conn.CreateCommand();
5 cmd.CommandText = "select top 10 * from sysobjects";
6 SqlDataAdapter sda = new SqlDataAdapter(cmd);
7 DataTable dt = new DataTable();
8 sda.Fill(dt);
9 GridView1.DataSource = dt;
10 GridView1.DataBind();
11
12
13 //绑定指定列1
14 string columns =",name,id,xtype,";
15 for (int i = 0; i < dt.Columns.Count; i++)
16 {
17 if (columns.Contains(","+ dt.Columns[i].ColumnName + ","))
18 continue;
19 dt.Columns.Remove(dt.Columns[i].ColumnName);
20 i = 0;//这一句至关重要,由于remove之后dt.columns.count发生变化(循环控制变量被改变),导致循环次数减少,所以这里需要重置循环变量,使循环重新开始
21 }
22 GridView1.DataBind();
23 return;
24
25
26 //绑定指定列2
27 columns = ",name,id,xtype,";
28 string[] arr = new string[dt.Columns.Count];
29 //首先将循环依赖的因素(循环条件)读入一个数组,以后的操作以此数据为判断依据
30 for (int i = 0; i < dt.Columns.Count; i++)
31 {
32 arr[i] = dt.Columns[i].ColumnName;
33 }
34 //使用刚才的数据进行循环控制
35 for (int i = 0; i < arr.Length; i++)
36 {
37 if (columns.Contains("," + arr[i] + ","))//改变dt.columns时循环条件不受影响
38 continue;//这里可以使用else结构代替continue,但是效率稍低
39 dt.Columns.Remove(arr[i]);
40 }
41 GridView1.DataBind();
posted @
2009-05-06 12:54
zyip
阅读(
1422)
评论()
编辑
收藏
举报
点击右上角即可分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App