首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >带有SQL的Datagridview按钮

带有SQL的Datagridview按钮
EN

Stack Overflow用户
提问于 2019-05-23 23:49:53
回答 2查看 392关注 0票数 0

我有一个从SQL Server调用的DataGridView,并以列和行的形式显示抓取的信息。在最后一行中,我让它作为一个按钮显示文本(..for),当我抓取信息时,它只显示视图,而不是像它应该的那样将数据从MySQL加载到文本框中

我尝试了很多方法,但都不能使用列/行中的datagridview按钮。

代码语言:javascript
运行
AI代码解释
复制
    private void frmRepoPremier_Load(object sender, EventArgs e)
                {
                DataSet ds = new DataSet();
                string query = "select * from Repos";

                MySqlConnection sqlConnection = new MySqlConnection(MyConnectionString);
                MySqlCommand sqlCommand = new MySqlCommand(query, sqlConnection);
                MySqlDataAdapter sqlDataAdapter = new MySqlDataAdapter(sqlCommand);
                sqlConnection.Open();
                sqlDataAdapter.Fill(ds);
                sqlConnection.Close();
                dgvBuildings.DataSource = ds.Tables[0];

                DataGridViewButtonColumn btn = new DataGridViewButtonColumn();
                dgvBuildings.Columns.Add(btn);
                btn.HeaderText = "Photo";
                btn.Text = "View";
                btn.Name = "btn";
                btn.UseColumnTextForButtonValue = true;           }

            private void dgvBuildings_CellClick(object sender, DataGridViewCellEventArgs e)
            {
                var senderGrid = (DataGridView)sender;

                if (senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn && e.RowIndex >= 0)
                {
//TRYING TO LOAD TO TEXTBOX WHEN ROW IS CLICKED AND SHOW VALUE OF PHOTO COLUMN FROM DATABASE IN SQL

//TRYING HERE! 

 textBox1.Text = dgvBuildings.Rows[e.RowIndex].Cells[11].ToString();

//TRYING HERE!
               // for (int x = 0; x <= dgvBuildings.Rows.Count - 1; x++)
               // {
               //     textBox1.Text = dgvBuildings.Rows[x].Cells[11].ToString();
               // }

                    //OPEN IMAGE FROM BUTTON
                  //  System.Diagnostics.Process.Start(textBox1.Text);
                }
            }

当我点击查看按钮时,我会让它打开浏览器或带有图像的PictureBox (图像链接存储在sql server中),并且应该在文本框中读取它。

EN

回答 2

Stack Overflow用户

发布于 2019-05-24 00:47:18

我杰森,我认为这段代码对你有帮助。

代码:

代码语言:javascript
运行
AI代码解释
复制
        DataSet ds = new DataSet();
        string query = "select * from tab_menu";

        SqlConnection sqlConnection = new SqlConnection(@"Persist Security Info=False;User ID=sa;Password=sa;Initial Catalog=EasyAdmin;Data Source=.");
        SqlCommand sqlCommand = new SqlCommand(query, sqlConnection);
        SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sqlCommand);
        sqlConnection.Open();
        sqlDataAdapter.Fill(ds);
        sqlConnection.Close();
        dataGridView1.DataSource = ds.Tables[0];

        DataGridViewButtonColumn btn = new DataGridViewButtonColumn();
        dataGridView1.Columns.Add(btn);
        btn.HeaderText = "Botoes";
        btn.Text = "Clicar Aqui";
        btn.Name = "btn";            
        btn.UseColumnTextForButtonValue = true;

并在DataGridView中创建事件(CellClick

代码语言:javascript
运行
AI代码解释
复制
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        var senderGrid = (DataGridView)sender;

        if (senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn && e.RowIndex >= 0)
        {
            //TODO - Button Clicked - Execute Code Here to change the text            
        }
    }
票数 0
EN

Stack Overflow用户

发布于 2019-05-24 04:51:30

好的,为了实现这一点,我只是隐藏了保存照片字符串的列,并保留了添加按钮到rows..so的代码谢谢Silvio...appreciate it的帮助

代码语言:javascript
运行
AI代码解释
复制
  private void frmRepoPremier_Load(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();
            string query = "select * from Repos";

            try
            {
                MySqlConnection sqlConnection = new MySqlConnection(MyConnectionString);
                MySqlCommand sqlCommand = new MySqlCommand(query, sqlConnection);
                MySqlDataAdapter sqlDataAdapter = new MySqlDataAdapter(sqlCommand);
                sqlConnection.Open();
                sqlDataAdapter.Fill(ds);
                sqlConnection.Close();
                dgvBuildings.DataSource = ds.Tables[0];

                DataGridViewButtonColumn btn = new DataGridViewButtonColumn();
                dgvBuildings.Columns.Add(btn);
                btn.HeaderText = "Photos";
                btn.Text = "View";
                btn.Name = "btn";
                btn.UseColumnTextForButtonValue = true;
               //HID THIS COLUMN TO REPLACE THE VIEW BUTTON
                this.dgvBuildings.Columns[11].Visible = false;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error: " + ex, "Error: Load Data", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            finally
            {
                if (connection.State == ConnectionState.Open)
                { connection.Close(); }

            }
        }

        private void dgvBuildings_CellClick(object sender, DataGridViewCellEventArgs e)
        { var senderGrid = (DataGridView)sender;
          if (senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn && e.RowIndex >= 0)
          { 
          //OPEN IMAGE FROM BUTTON
          System.Diagnostics.Process.Start(textBox1.Text);
          }

        }

        private void dgvBuildings_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
        {
            if (e.RowIndex >= 0)
            {
                DataGridViewRow row = this.dgvBuildings.Rows[e.RowIndex];
                textBox1.Text = row.Cells[12].Value.ToString();

                try
                {
                    if (row.Cells[12].Value != null)

                    { pictureBox1.LoadAsync(row.Cells[12].Value.ToString()); }
                    else
                    { return; }
                }
                catch (Exception)
                {
                    pictureBox1.Image = null;
                    return;
                }

            }
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56284207

复制
相关文章
c#中在datagridview的表格动态增加一个按钮方法
c#中在datagridview的表格动态增加一个按钮方法,如果想要这一套教程的可以移步去这里 《期末作业C#实现学生宿舍管理系统》,对了最近我们有一个人工智能交流群,如果大家对代码有问题,想交流的可以进群,私聊我就可以了! 效果图片 :
德宏大魔王
2023/08/08
1.8K0
c#中在datagridview的表格动态增加一个按钮方法
C# 可视化程序设计机试知识点汇总,DBhelper类代码
打开窗体 HotelType ht = new HotelType(); ht.Show();//非模式窗体 ht.ShowDialog();//模式窗体 在父窗体中打开子窗体 HotelType ht = new HotelType(); ht.MdiParent = this; ht.Show();//非模式窗体 ht.ShowDialog();//模式窗体 退出系统 Application.Exit(); 清空文本框 两种方式 this.TextBox.clear(); t
SingYi
2022/07/14
7.8K0
C# 可视化程序设计机试知识点汇总,DBhelper类代码
可视化数据库设计软件有哪些_数据库可视化编程
直观的说 1)首先,在数据库Sql server2019中新建一个数据库eg:students;
全栈程序员站长
2022/08/03
6.8K0
可视化数据库设计软件有哪些_数据库可视化编程
BindingNavigator操作DatagridView的数据[通俗易懂]
大家好,又见面了,我是你们的朋友全栈君。 参考 http://wenku.baidu.com/link?url=NWfEfArPZvDO_aI-xEKBHVGoZY9wQO_Oty_GCsGLiPsp
全栈程序员站长
2022/09/14
1K0
DataGridView使用小结
1).右键点击行时选中行,并弹出操作菜单 1). 添加一个快捷菜单contextMenuStrip1; 2). 给dataGridView1的CellMouseDown事件添加处理程序: private void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)         {             if (e.Button == MouseButtons.Right)             {
跟着阿笨一起玩NET
2018/09/18
2.3K0
sql中带有like时如何使用预编译。
Java代码如下: String str = "长江"; Connection conn = null; //比较preparestatement和statement PreparedStatem
geekfly
2022/05/06
9780
PLSQL如何调出sql美化器按钮
工具-plsql美化器-右键
向着百万年薪努力的小赵
2022/12/02
2K0
PLSQL如何调出sql美化器按钮
C#清除DataGridView数据DataGridView中的“无法删除未提交的新行”
我的需求是,单击按钮更新数据,并且删除原有表中数据,然后执行此代码一直提示无法删除DataGridView中的“无法删除未提交的新行”。但是我用了SunnyUI的数据表的框架,用原有的DataGridView是可以的,一直解决不了办法,但是用了这个框架SunnyUI的框架解决不了。仔细查找发现,DataGridView中的AllowUserToAddRowz的属性是True,通过对比,还是发现了这个不同。
.T.
2022/02/19
5.3K0
DataGridView控件使用大全
DataGridView控件使用大全:http://www.haogongju.net/art/847949
跟着阿笨一起玩NET
2018/09/18
2K0
DataGridView控件使用大全
期末作业C#实现学生宿舍管理系统
优化移步: 《c#中在datagridview的表格动态增加一个按钮方法》 《C#实现多窗口切换:Panel详细教程(亲测)》
德宏大魔王
2023/08/08
3220
期末作业C#实现学生宿舍管理系统
datagridview显示行号
另一种也是在这个事件下面下面 用了个for循环来做index+1的单元格赋值,效率太慢了。
跟着阿笨一起玩NET
2018/09/18
1.9K0
WinForm 控件 DataGridView 常用操作
在窗体load事件里面设置表格dataGridView的AutoGenerateColumns为 false
SpringSun
2021/10/18
1.9K0
ado.net的简单数据库操作(三)——简单增删改查的实际应用
  上篇我记录了自己的SqlHelper的开发过程,今天记录一下如何使用这个sqlhelper书写一个具有简单增删改查的小实例啦。
CherishTheYouth
2019/09/11
1.4K0
ado.net的简单数据库操作(三)——简单增删改查的实际应用
关于DataGridView_DataError事件的问题
本文转载:http://blog.csdn.net/szstephenzhou/article/details/7834725
跟着阿笨一起玩NET
2018/09/18
2K0
C# excel文件导入导出
在C#交流群里,看到很多小伙伴在excel数据导入导出到C#界面上存在疑惑,所以今天专门做了这个主题,希望大家有所收获!
zls365
2020/08/19
3.8K0
C# excel文件导入导出
一步一步教你使用AgileEAS.NET基础类库进行应用开发-WinForm应用篇-演示ORM对象与DataGridView的绑定技术-商品字典的另一个实现
回顾与说明     前面我们把“商品字典”、“商品入库”、“商品库存查询”、“商品入库查询”四个模块已经概括或者详细的演示了一个管理信息系统的典型应用场景,按照原来的打算,WinForm篇的例子系统中的几个模块就告一段落了。     由于好多朋友都问我,你的例子中大量使用ListView控件,很想知道是否可以支持DataGridView控件,所以我就有想到重新用DataGridView写一下“商品字典”模块。 本文内容     关于“商品字典”的实现及其业务应用场景请参见一步一步教你使用AgileEAS.N
魏琼东
2018/01/12
1.1K0
一步一步教你使用AgileEAS.NET基础类库进行应用开发-WinForm应用篇-演示ORM对象与DataGridView的绑定技术-商品字典的另一个实现
WinForm 为 DataGridViewCell 绑定 DataGridView
先上效果图。 对外提供一个 public 的方法: // 正常 Type1 是 JSON 的数据集或者 BSON 的数据集 public void FillDataGridView(Type1 d
Venyo
2018/03/15
1.1K0
WinForm 为 DataGridViewCell 绑定 DataGridView
点击加载更多

相似问题

DataGridView中带有按钮的字段

43

将带有按钮的datagridviewrow添加到datagridview

18

如何使用DataGridView和按钮在我的DataGridView中删除SQL条目

10

DataGridView按钮

15

带有sql consult的按钮

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文