您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

C#中对DatagridView部分常用操作

2024/4/7 3:27:27发布13次查看
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部分常用操作的内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product