RydenChoi Ответов: 1

Как преобразовать размер файла в столбце datagridview.


Здравствуйте, я делаю приложение для windows.

В моем приложении рабочий процесс выглядит следующим образом

1. напишите текст в текстовом поле и нажмите кнопку Пуск

2. Сопоставлены данные показали, что в элементе управления datagridview

И теперь я хочу, чтобы преобразовать к размеру файла в элементе управления datagridview столбец

Например, в моей базе данных значение DBsize, сохраненное в байте foramt, выглядит следующим образом : 451936256

но это трудно сосчитать, поэтому в DataGridView я хочу показать преобразование его следующим образом : 431 МБ

Я показал свой код нажатия кнопки ниже, Как я могу это сделать? Пожалуйста, помогите мне.

Спасибо

Что я уже пробовал:

private void btnStart_Click(object sender, EventArgs e)
        {
            string webApplicationName = string.Empty;
            string siteID = string.Empty;
            mtlblError.Text = "no record returned";

            Migration_Status_DAC dac = new Migration_Status_DAC();
            DataSet ds = new DataSet();

            try
            {
                        
                ds = dac.SelectWebApplicationStatus(mtextUrl.Text);
                DataTable dt = ds.Tables[0];


                if (ds != null && dt != null && dt.Rows.Count > 0)
                {
                    webApplicationName = dt.Rows[0]["AppName"].ToString();
                    mgrdWebApplication.DataSource = dt;
                }
                else
                {
                     mtlblError.Visible = true;
                }
            }
            catch(Exception ex)
            {
                LogWrite.writeLog(ex.ToString();
            }
        }

1 Ответов

Рейтинг:
5

RydenChoi

Я сделал это.....

Сначала с помощью события CellFormatting

private void mgrdContentDatabase_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
            if(this.mgrdContentDatabase.Columns[e.ColumnIndex].HeaderText== "Size(GB)")
            {
                if (e.Value != null)
                {
                    CovertFileSize(e);
                }
            }
        }


а затем сделайте метод преобразования в размер файла

private void CovertFileSize(DataGridViewCellFormattingEventArgs formatting)
        {
            if (formatting.Value != null)
            {
                try
                {
                    long bytes;
                    bytes = Convert.ToInt64(formatting.Value);
                    string size = "0 Bytes";

                    //GB
                    if (bytes >= 1073741824.0)
                        size = String.Format("{0:##.##}", bytes / 1073741824.0) + " GB";
                    //MB
                    else if (bytes >= 1048576.0)
                        size = String.Format("{0:##.##}", bytes / 1048576.0) + " MB";
                    //KB
                    else if (bytes >= 1024.0)
                        size = String.Format("{0:##.##}", bytes / 1024.0) + " KB";
                    //Bytes
                    else if (bytes > 0 && bytes < 1024.0)
                        size = bytes.ToString() + " Bytes";

                    formatting.Value = size;
                    formatting.FormattingApplied = true;
                }
                catch(FormatException)
                {
                    formatting.FormattingApplied = false;
                }
            }

        }