c# - 数据表和数据 GridView

标签 c# winforms datagridview datatable

我有数据表 table 就像

id name address phoneno 
1  abc  kfjskl  798798
2  bcd  kjdsfl  808909
3               899009
   fjsh kjllkjl
5  jfkd 

我通过代码在 datagridview 中显示这个值

dataGridView1.ColumnCount = Table.Columns.Count;
dataGridView1.RowCount = Table.Rows.Count;
for (int i = 0; i < dataGridView1.RowCount; i++)
{
    for (int j = 0; j < dataGridView1.ColumnCount; j++)
    {
        dataGridView1[j, i].Value = Table.Rows[i][j].ToString();
    }
}

现在我不想显示有一些缺失值的行,如果我这样做,那么 datagridview 将看起来像

 1  abc  kfjskl  798798
 2  bcd  kjdsfl  808909

我该怎么做?

最佳答案

这将满足您的需求(我认为):

dataGridView1.ColumnCount = Table.Columns.Count;
for (int i = 0; i < Table.Rows.Count; i++)
{
    bool valueMissing = false;
    DataGridViewRow row = new DataGridViewRow();
    for (int j = 0; j < dataGridView1.ColumnCount; j++)
    {
        if (Table.Rows[i][j].ToString() == "")
        {
            valueMissing = true;
            break;
        }
        else
        {
            row.Cells[j].Value = Table.Rows[i][j];
        }
    }
    if (!valueMissing)
    {
        dataGridView1.Rows.Add(row);
    }
}

这可能需要修改以检查 Table.Rows[i][i] 中的空值(除了仅检查空字符串值之外)。

关于c# - 数据表和数据 GridView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2737381/

相关文章:

c# 查询内存中的大型只读表

c# - 使用 Open XML 插入工作表 - "...unreadable content..."

winforms - MSI注册dll-自注册被认为是有害的

c# - 评论我的简单 MVP Winforms 应用程序

.net - DataGridViewComboBoxCell 需要多次单击才能调出另一个单元格的菜单。关于加快进程的建议?

c# - 使用 Rhino 模拟从 Spring.Net 模拟 TransactionTemplate

c# - 按键事件 'AltGr + S' 被视为 'Ctrl + alt + s'

c# - 当 RenderMode 为 "System"时,ToolStripMenuItem 无法显示复选标记和图像(图标)?

c# - MySql查询合并表并填充dataGridView

asp.net - 使用 JavaScript 和 jQuery 获取嵌入 ASP 对象的 ID