asp教程.net datagridview拷贝至剪贴板方法
拷贝模式设定
datagridview1.clipboardcopymode= datagridviewclipboardcopymode.enablewithoutheadertext //设置可复制的模式
其中datagridview.clipboardcopymode 属性获取或设置一个值,该值指示用户是否可以将单元格的文本值复制到 clipboard,以及是否包括行标题和列标题文本。
命名空间: system.windows.forms
程序集: system.windows.forms(在 system.windows.forms.dll 中)
选中部分拷贝
clipboard.setdataobject(datagridview1.getclipboardcontent()) //将控件选中的数据置于系统剪贴板中
datagridview粘贴
代码
if (datagridview1.currentcell.value == null)
{
return;
}
int insertrowindex = datagridview1.currentcell.rowindex;
string pastetext=clipboard.gettext();//从系统剪贴板中获取数据
if(string.isnullorempty(pastetext))
{
return;
}
string[] lines=pastetext.split('r');//按行分组
bool isheader=true;
foreach(string line in lines)
{
if(isheader)
{
isheader=false;//当可复制模式中含有标题时的过滤操作
}
else
{
string[] vals=line.split('t');//按tab空格分组
if (vals.length - 1 != datagridview1.columncount)
{
throw new applicationexception("列数错误");
}
datagridviewrow row = datagridview1.rows[insertrowindex];
row.headercell.value=vals[0];
for(int i=0;i
{
row.cells[i].value=vals[(i+1)];
}
insertrowindex+=1;
}
}
九、datagridview自动编号
代码
private void datagridview1_rowpostpaint(object sender, datagridviewrowpostpainteventargs e)
{
//自动编号与数据库教程无关
rectangle rectangle = new rectangle(e.rowbounds.location.x, e.rowbounds.location.y
,datagridview1.rowheaderswidth - 4,e.rowbounds.height);
textrenderer.drawtext(e.graphics, (e.rowindex + 1).tostring(),datagridview1.
rowheadersdefaultcellstyle.font, rectangle,
datagridview1.rowheadersdefaultcellstyle.forecolor, textformatflags.verticalcenter | textformatflags.right);
}
显示行号