【问题标题】:C#, winforms, datatable, buttonC#、winforms、数据表、按钮
【发布时间】:2012-05-13 22:45:46
【问题描述】:

我有一个绑定到数据表的 datagridview。数据源中的一列是 BLOB。它是数据库中的一个 BLOB,我将所有记录从 DB 检索到 Datatable,然后将其绑定到 DGV。

这是我要做的检查。对于 Blob 列(Documents pdfs,docs rpt txt),如果存在 DBNull 以外的值,则应禁用按钮。如果不是 DBNull,则应突出显示一个按钮并可供下载

1) 我如何向这个绑定到数据表的 DGV 添加一个按钮。 2) 我应该在哪里以及在什么情况下检查 BLOb 字段的值

谢谢 孙

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    在您的按钮点击时,您将需要使用此代码:

         SaveFileDialog saveFileDialog1 = new SaveFileDialog();
         saveFileDialog1.Title = "Save an Image File";
    
         Byte[] blob = null;
         FileStream fs = null;
         blob = new Byte[(dr.GetBytes(0, 0, null, 0, int.MaxValue))];
         dr.GetBytes[0, 0, blob, 0, blob.Length);
    
         saveFileDialog1.ShowDialog();
         fs = (System.IO.FileStream)saveFileDialog1.OpenFile()
         fs.Write(blob, 0, blob.Length);
         fs.Close();
    

    这将是启用或禁用按钮的代码

     if (dt[columnname] != dbnull.value)
     {
       button.enabled = true;
    
     }
     else
     {
       button.enabled = false;
     }
    

    【讨论】:

    • 什么是sdr。此外,可以向由数据表填充的 datagridview 添加额外的按钮列。这个按钮应该能够检索文档、添加文档。对于检索文档,您是否有任何示例代码。 PS:我的 DGV 的数据源是一个数据表。
    • 你让它工作了吗?我做了更多的思考,我认为它是错误的
    • 我在使用 button.enabled 时遇到问题。这是 DataGridViewButtonCell 按钮 = (DataGridViewButtonCell)row.Cells["ButtonColumnName"].Value;如果是,则没有 button.enabled。微软有一些与msdn.microsoft.com/en-us/library/ms171619.aspx 相关的示例。另外,我如何将用户上传的文档的名称显示为此按钮单元格的文本
    • 您想要将文件名存储在数据库中的不同字段中,因为它是一个 blob,无法将其存储在同一字段中,那么这可以是您的文本按钮
    • 另外,这个例子能回答你的问题吗?
    猜你喜欢
    • 2017-07-10
    • 2020-06-11
    • 2010-09-21
    • 2019-12-01
    • 1970-01-01
    • 2015-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多