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.count-1;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);
}
顯示行號