C#中的winform 程序怎样在datagridview 动态添加按钮行

相当于asp的GridView的button行一样
2024-11-15 01:07:10
推荐回答(3个)
回答1:

我今天也正好用到这个功能,把代码给你,你看看吧。
DataTable dtcom = new DataTable();
dtcom.Columns.Add("Value", typeof(string));
dtcom.Columns.Add("Name", typeof(string));
DataRow drSex;
drSex = dtcom.NewRow();
drSex[0] = "1";
drSex[1] = "a";
dtcom.Rows.Add(drSex);
drSex = dtcom.NewRow();
drSex[0] = "0";
drSex[1] = "b";
dtcom.Rows.Add(drSex);
//--
DataTable dt = new DataTable();
dt.Columns.Add("XH");
dt.Columns.Add("WLH");
dt.Columns.Add("WLM");
dt.Columns.Add("SL");
dt.Columns.Add("DJ");
dt.Columns.Add("ZZF", typeof(string));
dt.Columns.Add("BZ");

DataRow dr = dt.NewRow();
dr["XH"] = "1";
dr["WLH"] = "1234567";
dr["WLM"] = "德国汉堡制黄色书柜";
dr["SL"] = "12";
dr["DJ"] = "25610";
dr["ZZF"] = "0";
dr["BZ"] = "上墙安装";

DataRow dr2 = dt.NewRow();
dr2["XH"] = "2";
dr2["WLH"] = "1234567";
dr2["WLM"] = "德国汉堡制黄色书柜";
dr2["SL"] = "12";
dr2["DJ"] = "25610";
dr2["ZZF"] = "1";
dr2["BZ"] = "上墙安装";

DataRow dr3 = dt.NewRow();
dr3["XH"] = "3";
dr3["WLH"] = "1234567";
dr3["WLM"] = "德国汉堡制黄色书柜";
dr3["SL"] = "12";
dr3["DJ"] = "25610";
dr3["ZZF"] = "1";
dr3["BZ"] = "上墙安装";

dt.Rows.Add(dr);
dt.Rows.Add(dr2);
dt.Rows.Add(dr3);

DataGridViewComboBoxColumn dcb = new DataGridViewComboBoxColumn();
dcb.DataSource = dtcom;

dcb.ValueMember = "Value";
dcb.DisplayMember = "Name";

dcb.DataPropertyName = "ZZF";
dcb.HeaderText = "ZZF";
this.dataGridView1.Columns.Insert(0, dcb);
dcb.Name = "ZZF";
this.dataGridView1.DataSource = dt;
//处理列无法点击排序
this.dataGridView1.EnableHeadersVisualStyles = false;
for (int i = 0; i < this.dataGridView1.Columns.Count; i++)
this.dataGridView1.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
this.dataGridView1.Columns["ZZF"].DisplayIndex = 5;

回答2:

datagridview右上角的小三角按钮,编辑模板,你放上个按钮,那么每行都有按钮

回答3:

......UP 人才. DataGridView有编辑模板么....