[英]How do I convert a cell in the DataGridView into a button?
我知道如何在網格視圖(Web應用程序)中使用編輯,刪除,更新,但是現在我正在Windows窗體上工作。 我不知道如何在Winforms中使用相同的編輯刪除更新。
我的代碼:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Text.RegularExpressions;
namespace Ata_Sk_Mae_System
{
public partial class Stock_Details : Form
{
public Stock_Details()
{
InitializeComponent();
//Set Columns Count
gvItem.ColumnCount = 4;
gvItem.AutoGenerateColumns = false;
//Hide the last blank line
gvItem.AllowUserToAddRows = false;
//Add Columns
gvItem.Columns[0].Name = "ICode";
gvItem.Columns[0].HeaderText = "Item Code";
gvItem.Columns[0].DataPropertyName = "ICode";
gvItem.Columns[0].Width = 100;
gvItem.Columns[1].HeaderText = "IName";
gvItem.Columns[1].Name = "Item Name";
gvItem.Columns[1].DataPropertyName = "IName";
gvItem.Columns[1].Width = 100;
gvItem.Columns[2].Name = "Iprice";
gvItem.Columns[2].HeaderText = "Item Price";
gvItem.Columns[2].DataPropertyName = "Iprice";
gvItem.Columns[2].Width = 100;
gvItem.Columns[3].Name = "Quantity";
gvItem.Columns[3].HeaderText = "Quantity";
gvItem.Columns[3].DataPropertyName = "Quantity";
gvItem.Columns[3].Width = 100;
DataGridViewCheckBoxColumn checkBoxColumn = new DataGridViewCheckBoxColumn();
checkBoxColumn.HeaderText = "";
checkBoxColumn.Width = 30;
checkBoxColumn.Name = "checkBoxColumn";
gvItem.Columns.Insert(0, checkBoxColumn);
BindGrid();
timer1.Start();
}
DataTable dt;
private void btnAdd_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=LUCKY-PC;Initial Catalog=Test;User Id=sa;Password=admin@123";
con.Open();
string IC = txtItemCode.Text;
string IN = txtItemName.Text;
string IP = txtItemPrice.Text;
string QTY = txtQuantity.Text;
string query = "insert into Item_Details values('" + IC + "','" + IN + "','" + IP + "','" + QTY + "')";
SqlCommand cmd = new SqlCommand(query, con);
cmd.ExecuteNonQuery();
MessageBox.Show("Item Added Succesfully");
con.Close();
BindGrid();
btnReset.PerformClick();
}
private void BindGrid()
{
string constring = "Data Source=LUCKY-PC;Initial Catalog=Test;User Id=sa;Password=admin@123";
using (SqlConnection con = new SqlConnection(constring))
{
using (SqlCommand cmd = new SqlCommand("SELECT distinct * FROM Item_Details", con))
{
cmd.CommandType = CommandType.Text;
using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
using (dt = new DataTable())
{
sda.Fill(dt);
gvItem.DataSource = dt;
}
}
}
}
}
private void btnReset_Click(object sender, EventArgs e)
{
txtItemCode.Text = "";
txtItemName.Text = "";
txtItemPrice.Text = "";
txtQuantity.Text = "";
}
private void timer1_Tick(object sender, EventArgs e)
{
DateTime datetimer = DateTime.Now;
this.lblDate_Time.Text = "Date && Time:" + "[" + datetimer.ToString() + "]";
}
private void btnDelete_Click(object sender, EventArgs e)
{
List<DataGridViewRow> selectedRows = (from row in gvItem.Rows.Cast<DataGridViewRow>()
where Convert.ToBoolean(row.Cells["checkBoxColumn"].Value) == true
select row).ToList();
if (MessageBox.Show(string.Format("Do you want to delete {0} rows?", selectedRows.Count), "Confirmation", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
foreach (DataGridViewRow row in selectedRows)
{
using (SqlConnection con = new SqlConnection("Data Source=LUCKY-PC;Initial Catalog=Test;User Id=sa;Password=admin@123"))
{
using (SqlCommand cmd = new SqlCommand("DELETE FROM Item_Details WHERE ICode = @ICode", con))
{
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@ICode", row.Cells["ICode"].Value);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}
}
this.BindGrid();
}
}
private void txtSearch_TextChanged(object sender, EventArgs e)
{
DataView dv = new DataView(dt);
dv.RowFilter = string.Format("Icode Like '%{0}%'", txtSearch.Text);
gvItem.DataSource = dv;
}
}
}
請任何人幫助我,如何在所有行中添加編輯和更新按鈕,以及如何使它們起作用。 我預先使用sql server 2008作為database.thanks。
請查看您正在使用的Visual Studio版本的DataGridViewButton列的使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.