C#DataGridview如何只看到指定列的信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#DataGridview如何只看到指定列的信息相关的知识,希望对你有一定的参考价值。

我才自学C#没多久 所以希望大侠们 能详细些最好了 谢谢~

DGV 控件显示指定的数据,
可以在 DGV 的最后一个 column 属性中, 添加列时, 将指定的 列 设为 隐藏。
那么就看不到指定的列了。

提取 DGV 控件中的 制定单元格的数据时。可用下面的方法——我是班上的学习委员。参考一哈:

语法部分

先在前面 申明 数据集——Book
1. public static SqlDataAdapter adapter;
2. private DataSet dataset = new DataSet("Book");

再用sql 语句 来从数据库调取数据,填充 数据集 Book
3. string sql = string.Format("use Book select BookId,BookName,BookAuthor,Price from BookInfo");
4. adapter = new SqlDataAdapter(sql, DB_Helper.connection);
5. adapter.Fill(dataset, "Book"); //这里的 Book 强烈建议 与前面的 Book 一模一样

最后 填充 DGV 控件
6. dgvBookList.DataSource = dataset.Tables["Book"]; //这里的 Book 强烈建议 与前面的 Book Book 一模一样

( 声明: 上面的 Book Book Book 意义 说不清楚,总之,都写成一样就肯定没有错。)

清空 DGV 控件
7. dataset.Tables["Book"].Clear();

如何 得到 在 DGV 控件 中 选中的 行 的数据。
8. int BookId = Convert.ToInt32( dgvBookList.SelectedRows[0].Cells["BookId"].Value );

(Convert.ToInt32() 为最高能力的 转换。
dgvBookList dgv 控件 的名称。
SelectedRows[0] 为你选中的所有行(如果你选中了多行)中 的 第一行。
SelectedRows[1] 就是选中的所有行(如果你选中了多行)中 的 第二行……..
Cells["BookId"] 为你选中的当前 行 的一个 列名为BookId 的列
如果直接 写成 Cells[2] 就表示 第三列 的值 ,依次类推。
Value 我也说不清 所以原,就当是 固定格式吧


如何 DGV 控件 中的数据 保存到 数据库
9. SqlCommandBuilder kkk = new SqlCommandBuilder(adapter);
10. adapter.Update(dataset, "Book");

以上为 DGV 的 全部(约 98% 的使用率)使用 语法。相信将上面的 10 句 全部 记熟。就没有问题。

本来是用 WORD 文档写的,但没办法,传不了图片。所以显得不够详细。
参考技术A 你可以在设计视图中,设置你想要显示的字段。
右键DataGridview-显示智能标记-编辑列-boundfield-设置它的headertext为你想要显示的字段的文本-在设置它的datafield为你想要显示的字段
参考技术B 2种方法:一就是数据源不SELECT出不想显示的列。二就是隐藏列。在DATAGRIDVIEW里面设置。可视属性设为FLASH 参考技术C 设置字段的Visible="False"

更改DataTable某列的值。C#

我从数据库里读出数据放到DataTable里面,但是因为数据库存放的数据有些数据需要进行中文转换,就是把一些一般人看不懂的字符改成中文,再在datagridview里面显示出来.C#如何做?

楼上几位说的方法太笨拙了
强大的datagridview怎么可能不提供类似这样的事件呢
CellFormatting //,就是把源数据显示成指定格式的数据,但不影响原有的数据,即数据源映射到控件的格式化操作
还提供了一个与之相反的操作
CellParsing //把已经修改的数据按指定格式解析回源数据
如果你的单元格是可修改的,这个事件一定要进行处理,至于具体的处理要根据你的要求来进行,使用方法你看一下它的说明提示吧.
参考技术A DataTable1.Rows[rowIndex][columnIndex]=Convert(DataTable1.Rows[0].ToString());

Convert方法是你的转换方法,如果不知道Rows里的columnIndex索引值,用列名也可以,DataTable1.Rows[rowIndex]["Column1"]。
至于显示,直接绑定到datagridview上就行了。
参考技术B 可以在dataGridView的RowDataBound事件里面进行转换
protected void gridview_RowDataBound(object sender, GridViewRowEventArgs e)

if (e.Row.RowType == DataControlRowType.DataRow)

e.Row.Cells[0].Text = string.Format("yyyy-MM-dd hh:mm:ss", e.Row.Cells[0].Text);

参考技术C 使用for循环datatable的row

以上是关于C#DataGridview如何只看到指定列的信息的主要内容,如果未能解决你的问题,请参考以下文章

更改DataTable某列的值。C#

C#winForm怎么禁用dataGridView的cellclick事件(急急急!)

vb.net datagridview 单击后指定列的内容放置到相同名称的文本框中

datagridview输出指定的列怎么输出

c#怎么获得dataGridView中指定的列的内容

2021-11-22 WinFrom面试题 DataGridView中添加了一个ComboBox列,如何使用?