1
Answer

Copy to Clipboard Functionality

I tried a Copy to Clipboard fuctionality using a Javascript. It is working in IE but not in Google Chrome. Below were my code
<script type="text/javascript" language="javascript">
function copy(strc) {
var controlValue =strc;
if (window.clipboardData) { // Internet Explorer
console.log("show");
window.clipboardData.setData("Text", controlValue);
}
else{
var aux =strc;
//aux.setAttribute("value", document.getElementById(elementId).innerHTML);
document.body.appendChild(aux);
aux.select();
document.execCommand("copy");
document.body.removeChild(aux);
}
//window.clipboardData.setData('Text', controlValue);
}
</script>
 
Kindly, help me how to achieve this in Chrome 
 
Answers (1)
0
Hemant Kumar

Hemant Kumar

NA 3k 215.1k 13y
If your column type is of number type(such as double), the formating would do the work no matter in edit mode or not.
If your column type is of string type which is by default, you shoud handle the cellFormating event to do a trick work like below:

Code Snippet

private void DgvCellStyle_Load(object sender, EventArgs e)

        {

            DataTable dt = new DataTable();

            dt.Columns.Add("a");

            dt.Rows.Add(155.6565);

            dt.Rows.Add(2342.2);

            this.dataGridView1.DataSource = dt;

 

            this.dataGridView1.CellFormatting += new DataGridViewCellFormattingEventHandler(dataGridView1_CellFormatting);

        }

 

        void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)

        {

            if (e.ColumnIndex == 0 && e.RowIndex != this.dataGridView1.NewRowIndex)

            {

                double d = double.Parse(e.Value.ToString());

                e.Value = d.ToString("N2");

            }

        }