this.currentposition = this.datagridview1.bindingcontext
[this.datagridview1.datasource, this.datagridview1.datamember].position;
bookcontent = this.database.dataset.tables[0].rows
[this.currentposition][21].tostring().trim();
messagebox.show(bookcontent);
1、自定义列
//定义列宽
this.datagridview1.columns[0].width = 80;
this.datagridview1.columns[1].width = 80;
this.datagridview1.columns[2].width = 180;
this.datagridview1.columns[3].width = 120;
this.datagridview1.columns[4].width = 120;
customize cells and columns in the windows forms
datagridview control by extending theirbehavior and
appearancehost controls in windows forms datagridview cells
继承 datagridviewtextboxcell 类生成新的cell类,然后再继承 datagridviewcolumn 生成新的column类,并指定
celltemplate为新的cell类。新生成的column便可以增加到datagridview中去。
2、自动适应列宽
programmatically resize cells to fit content in
the windows forms datagridview controlsamples:
datagridview.autosizecolumns(datagridviewautosizecolumncriteria.headeranddisplayedrows);
datagridview.autosizecolumn(datagridviewautosizecolumncriteria.headeronly,2, false);
datagridview.autosizerow(datagridviewautosizerowcriteria.columns,2, false);
datagridview.autosizerows
(datagridviewautosizerowcriteria.headerandcolumns,0, datagridview1.rows.count, false);
3、可以绑定并显示对象
bind objects to windows forms datagridview controls
4、可以改变表格线条风格
change the border and gridline styles in
the windows forms datagridview controlsamples:
this.datagridview1.gridcolor = color.blueviolet;
this.datagridview1.borderstyle = borderstyle.fixed3d;
this.datagridview1.cellborderstyle = datagridviewcellborderstyle.none;
this.datagridview1.rowheadersborderstyle = datagridviewheaderborderstyle.single;
this.datagridview1.columnheadersborderstyle = datagridviewheaderborderstyle.single;
5、动态改变列是否显示,和动态改变列的显示顺序
change the order of the columns in the windows forms datagridview controlsamples:
customersdatagridview.columns["customerid"].visible = false;
customersdatagridview.columns["contactname"].displayindex = 0;
customersdatagridview.columns["contacttitle"].displayindex = 1;
customersdatagridview.columns["city"].displayindex = 2;
customersdatagridview.columns["country"].displayindex = 3;
customersdatagridview.columns["companyname"].displayindex = 4;
6、可以在列中显示图像
display images in cells of the windows forms datagridview controlsamples:
icon treeicon = new icon(this.gettype(), "tree.ico");
datagridviewimagecolumn iconcolumn = new datagridviewimagecolumn ();
iconcolumn.image = treeicon.tobitmap();iconcolumn.name =
"tree";iconcolumn.headertext = "nice tree";
datagridview1.columns.insert(2, iconcolumn);
7、格式化显示内容:
format data in the windows forms datagridview controlsamples:
this.datagridview1.columns["unitprice"].defaultcellstyle.format = "c";
this.datagridview1.columns["shipdate"].defaultcellstyle.format = "d";
this.datagridview1.defaultcellstyle.nullvalue = "no entry";
this.datagridview1.defaultcellstyle.wrapmode = datagridviewwrapmode.wrap;
this.datagridview1.columns["customername"].
defaultcellstyle.alignment =datagridviewcontentalignment.middleright;
8、在拖动列的滚动条时可以将指定的列冻结
freeze columns in the windows forms datagridview controlsamples:
将指定列及以前的列固定不动this.datagridview1.columns["addtocartbutton"].
frozen = true;
9、获取选择的单元格,行,列
get the selected cells, rows,
and columns in the windows forms datagridview controlsamples:
10、显示录入时出现的错误信息
handle errors that occur during data entry in the windows
forms datagridview controlsamples:
private void datagridview1_dataerror
(object sender,datagridviewdataerroreventargs e){
// if the data source raises an exception when a cell value is
// commited, display an error message.
if
(e.exception != null &&e.context == datagridviewdataerrorcontext.commit){
messagebox.show("customerid value must be unique.");
}
}
11、大数据量显示采用virtual mode
implement virtual mode in the windows forms datagridview control
12、设置指定的列只读
make columns in the windows forms datagridview control read-onlysamples:
datagridview1.columns["companyname"].readonly = true;
13、移去自动生成的列
remove autogenerated columns from a windows forms datagridview controlsample:
datagridview1.autogeneratecolumns
= true;datagridview1.datasource
= customerdataset;datagridview1.columns.remove ("fax");
或:datagridview1.columns["customerid"].visible = false;
14、自定义
选择模式
set the selection mode of the windows forms datagridview controlsample:
this.datagridview1.selectionmode
= datagridviewselectionmode.fullrowselect;
this.datagridview1.multiselect = false;
15、自定义设定光标进入单元格是否编辑模式(编辑模式)
specify the edit mode for the windows forms datagridview
controlthis.datagridview1.editmode
= datagridvieweditmode.editonenter;
16、新行指定默认值
specify default values for new rows in the windows
forms datagridview controlsample:
private void datagridview1_defaultvaluesneeded(object sender,
system.windows.forms.datagridviewroweventargs e){
e.row.cells["region"].value = "wa";
e.row.cells["city"].value = "redmond";
e.row.cells["postalcode"].value = "98052-6399";
e.row.cells["region"].value = "na";
e.row.cells["country"].value = "usa";
e.row.cells["customerid"].value = newcustomerid();
}
17、数据验证
validate data in the windows forms datagridview controlsamples:
private void datagridview1_cellvalidating
(object sender,datagridviewcellvalidatingeventargs e){
// validate the companyname entry by disallowing empty strings.
if (datagridview1.columns[e.columnindex].name == "companyname"){
if (e.formattedvalue.tostring() == string.empty){
datagridview1.rows[e.rowindex].errortext
="company name must not be empty";
e.cancel = true;
}
}
}
18、数据提交到dataset中
dataset ds = new dataset("mydataset");
ds.tables[biaom.trim()].rows.clear();
try{for (int i = 0; i < datagridview1.rows.count - 1; i++){
datatable dt = ds.tables[biaom.trim()];
datarow myrow = ds.tables[biaom.trim()].newrow();
for (int j = 0; j < datagridview1.columns.count; j++){
myrow[j] = convert.tostring(datagridview1.rows[i].cells[j].value);
}
ds.tables[biaom.trim()].rows.add(myrow);
}
}
catch (exception){
messagebox.show("输入类型错误!");
return;
}
以上就是C#中对DatagridView部分常用操作的内容,更多相关内容请关注PHP中文网(www.php.cn)!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号