标签: datagridview

右对齐Winforms中的DataGridView列标题

我在DataGridView winforms控件中有一个名为"Quote Price"的列.我可以正确对齐一个没有空格的列,例如"Unit"howerver我无法将列标题与名为"Quote Price"的列名称对齐.我试图使用TopRight,MiddleRight和bottomRight但没有成功.

SelectedAdditionalCost.Columns["Quote Price"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight; // Doesn't want to right align
SelectedAdditionalCost.Columns["Quote Price"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; // column contents No worries, right aligns.
Run Code Online (Sandbox Code Playgroud)

我确信我正在做一些非常愚蠢的事情,但是,我无法做到这一点.

datagridview winforms

14
推荐指数
1
解决办法
4万
查看次数

WPF DataGrid与Windows窗体DataGridView

我有WPF和Windows Forms的经验,但是只使用了Windows Forms DataGridView而不是WPF DataGrid(它只包含在.Net 4中,或者可以从Codeplex添加到.Net 3.5中,我理解).我即将使用其中一个控件来大量创建大量数据,并且读取性能是WPF DataGrid的一个问题所以我可能会坚持使用Windows窗体DataGridView.这是这样的吗?

我不想使用第三方控件.

对于大量数据,Windows窗体DataGridView是否为WPF DataGrid提供了显着的性能?

如果我使用WPF,我宁愿使用.Net 3.5S SP1,除非.Net 4中的DataGrid明显更好?

此外,我想使用ADO与DataTable,我认为它更适合Windows窗体..

wpf datagrid datagridview wpfdatagrid winforms

14
推荐指数
1
解决办法
3万
查看次数

如何在更新其列时挂起DataGridView

在更新其列时,如何暂停.NET DataGridView显示任何内容?

这是我目前的代码.它工作正常,但在foreach循环中它很慢; 你可以看到horiz滚动条在添加每列时缓慢增长.我自己构建UI列,因为我不想出于各种原因使用dataGridView1.AutoGenerateColumns.

// Disconnect and reset DataGridView
dataGridView1.DataSource = null;
dataGridView1.SuspendLayout();
dataGridView1.Columns.Clear();

// Get data from SQL
DataTable dt = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter("select * from employeehist", conn);
adapter.Fill(dt);

// Build DataGridView columns
foreach (DataColumn c in dt.Columns)
{
    DataGridViewTextBoxColumn col = new DataGridViewTextBoxColumn();
    col.SortMode = DataGridViewColumnSortMode.NotSortable;
    col.DataPropertyName = c.ColumnName;
    col.HeaderText = c.Caption;
    dataGridView1.Columns.Add(col);
}

// Reconnect DataGridView
dataGridView1.DataSource = dt;
dataGridView1.ResumeLayout(true);
Run Code Online (Sandbox Code Playgroud)

.net c# datagridview winforms

14
推荐指数
1
解决办法
4万
查看次数

DataGridView,调整DataTable的宽度和高度

我正在将DataTable绑定到GridView.它不会调整DataTable的高度和宽度.如果行数很少,我怎么能拉伸我显示所有列的网格宽度和高度收缩.

在此输入图像描述

.net c# ado.net datagridview

14
推荐指数
1
解决办法
4万
查看次数

如何选择并滚动到Datagridview中的新行?

我有一个绑定到数据库表的DataGridView.DataGridView不可编辑,有一些文本字段可以编辑数据,这些字段由按钮控制.我有一个NewRow按钮,代码如下:

        dataGridView1.AllowUserToAddRows = true;
        foreach (DataGridViewRow row in dataGridView1.Rows)
        {
            if (row.Selected)
            { row.Selected = false; }
        } 
        dataGridView1.Rows[dataGridView1.NewRowIndex].Selected = true;
Run Code Online (Sandbox Code Playgroud)

我需要的是:

  • datagridview应滚动到底部(newRow所在的位置)
  • 应该关注newRow,以便textfields显示新的(空)行(内容)

我试过了:

        bindSourceGS.Position = dataGridView1.NewRowIndex;
Run Code Online (Sandbox Code Playgroud)

但是这并没有选择datagridview的newRow.我想使用datagridview的newRow,因为当用户按下取消按钮时,我不必删除数据集中的行,而datagridview.Rows [i]有一个IsNewRow属性.

.net datagridview

14
推荐指数
1
解决办法
1万
查看次数

从DataTable填充时,如何在DataGridView图像列中禁用Null图像

我有一个现有的应用程序,需要在DataGridView单元格中显示一个图像,以表示该记录是否具有与之关联的特定标志(不是用户可编辑的,这来自数据库).

如果有一个标志,我会显示相应的图像,如果没有标记,我希望列中没有显示任何内容.

DataGridView列不是在Visual Studio设计器中创建的,否则这很容易.我可以在列上设置NullValue属性.相反,当所有数据都加载到DataTable中时,在运行时创建列,然后从该DataTable创建DataView,然后将DataGridView的Datasource设置为DataView.

我不能完全重写这个,否则我只是在VS Designer中定义列,而不是仅仅从DataTable中定义列的荒谬方式.

那么我的问题是,当基础数据表为空时,如何使图像的列显示为什么?

这里有一些伪C#来证明我的意思.记住,我没有写它来使用这样的两个DataTables; 当我把它递给我时,就是那种方式,我不想仅仅为了添加一个新列而做出重大改变......

DataTable rawData = someMethodThatReturnsMyRawData();
DataTable data = new DataTable();
data.Columns.Add("Flags", typeof(Image));
data.Columns.Add("SomeOtherColumn");

foreach (DataRow rawDataRow in rawData.Rows)
{
    DataRow dataRow = data.NewRow();
    bool hasFlagType1 = false;
    bool hasFlagType2 = false;

    if (rawDataRow["FlagType1ID"] != DBNull.Value)
    {
        hasFlagType1 = true;
    }

    if (rawDataRow["FlagType2ID"] != DBNull.Value)
    {
        hasFlagType2 = true;
    }

    if (hasFlagType1 && hasFlagType2)
    {
        dataRow[0] = Properties.Resources.BothFlagsImage;
    }
    else if (hasFlagType1)
    {
        dataRow[0] = Properties.Resources.FlagType1Image;
    }
    else if (hasFlagType2)
    {
        dataRow[0] = …
Run Code Online (Sandbox Code Playgroud)

.net c# datagridview image winforms

14
推荐指数
2
解决办法
2万
查看次数

如何将DataSource转换为List <T>?

我有以下方法在DataGridView上加载产品

private void LoadProducts(List<Product> products)
{
    Source.DataSource = products;  // Source is BindingSource
    ProductsDataGrid.DataSource = Source;
}
Run Code Online (Sandbox Code Playgroud)

现在我试图让我回来保存它们如下图所示.

private void SaveAll()
{
   Repository repository = Repository.Instance;
   List<object> products = (List<object>)Source.DataSource; 
   Console.WriteLine("Este es el número {0}", products.Count);
   repository.SaveAll<Product>(products);
   notificacionLbl.Visible = false;
}
Run Code Online (Sandbox Code Playgroud)

但是我得到了InvalidCastException这条线:

List<object> products = (List<object>)Source.DataSource;
Run Code Online (Sandbox Code Playgroud)

那么如何将DataSource转换为List呢?

c# casting datasource datagridview winforms

14
推荐指数
2
解决办法
3万
查看次数

数据源绑定时,DataGridView自动排序不起作用

我的问题是:当我将数据源绑定到DataGridView时

BindingList<Contract> contracts = new BindingList<Contract>(Contract.GetAll());
dgEndingContracts.DataSource = contracts.Where(c => c.ExpirationDate <= nextMonth && c.IsArchived == false).ToList();
Run Code Online (Sandbox Code Playgroud)

并设置每列,SortMode = DataGridViewColumnSortMode.Automatic 当我点击dataGridView标题行不排序.

但是当我手动创建每一列时,每行dataGridView创建并填充数据,并将set column sort模式设置为自动,排序工作正常.

有什么区别,如何在第一种方法中启用排序?

.net c# datagridview winforms

14
推荐指数
1
解决办法
3万
查看次数

使用DataTable将数据加载到DataGridView的Progressbar

我有一个DataGridView从SQL服务器数据库加载数据.当我加载数据时需要很长时间.

我想向用户提供数据正在加载的信息.请问您Progressbar在将数据加载到数据库时连接的最佳方式是DataGridView什么?

我不希望任何人为我制作完整的代码.我只是想知道如何做到这一点.

我看到有人以赏金授予我的问题.我想说,目前我使用这个代码,如果它适合的话我会恭喜.

DTGdataTable = new DataTable();
SqlDataAdapter SDA = new SqlDataAdapter
SDA.Fill(DTGdataTable);
dataGridView1.DataSource = DTGdataTable ;
Run Code Online (Sandbox Code Playgroud)

谢谢大家的时间.

c# sql sql-server datagridview winforms

14
推荐指数
1
解决办法
3万
查看次数

如何将DataGridView绑定到SQLite数据库?

我正在尝试将数据连接添加到使用SQLite的datagridview.我已经添加了对SQLite的引用(下载了所需的文件)但是当我通过向导添加数据源时,SQLite不包含在选项中 - 请参见下面的截图:

更改数据源

我环顾四周寻找这个问题的答案,但没有成功找到任何问题.

以下是项目文件夹中数据库的屏幕截图:

项目文件夹

有没有办法将datagridview绑定到sqlite数据源?

任何帮助,将不胜感激.

谢谢!

.net c# sqlite datagridview

14
推荐指数
1
解决办法
2648
查看次数