
private void Add_dgv()
{
dgv_preinstall.Rows.Clear()
DataTable preinst_dt = Ticms_Tool.DeserializeModel(ICMS.Operation(new object[] { where_str, Convert.ToInt32(cb_classboard.SelectedValue) }, "M_40", Login_Form.manager.F_Guid))
if (preinst_dt != null &&preinst_dt.Rows.Count != 0)
{
foreach (DataRow dr in preinst_dt.Rows)
{
int index = dgv_preinstall.Rows.Add()
DataGridViewRow row = dgv_preinstall.Rows[index]
row.Cells[0].Value = dr["F_PreID"]
row.Cells[1].Value = dr["F_OrderID"]
}
}
}
其中的 row.Cells[0]就是列 你可以随意加减 希望您能采纳 祝您成功
新增3行3列:(你可以通过 *** 作DataGridView的数据去新增,当然还有别的方式)首先你应该先增加列。方法是要逐一创建3个列对象:DataColumn dc=new DataColumn (?),参数你自己指定咯,然后逐一添加到DataGridView上:((DataTable)DataGridView.DataSource).columns.Add(dc).
然后增加行:DataRow dr=((DataTable)DataGridView.DataSource).NewRow()
之后你需要对新增加的行添加数据:dr[列名]=“”
最后把新增的行加上去:((DataTable)DataGridView.DataSource).Rows.Add(dr)
至于再单击就无效单击后无效,你可以在第一次单击执行的最后让按钮失效:Button.Enable=False.
上面是抛砖引玉,希望能给你一个方向。
多思考,多实验,加油!!
cxGrid如果是静态添加列,可以把列的Properties设置为ComboBox,而现在是动态添加,代码如下:vartvC: TcxGridDBColumntvLIST:TcxGridDBTableView
for i:=0 to High(ColName) dobegintvC:=tvLIST.CreateColumn
tvC.Name:=ColName[i]
tvC.Caption:=dm.qry.FieldByName('ColCaption').AsString
cxGrid delphi 1 使用TcxEditRepository控件, 增加一个combobox(如名称为cxcbb), 做好设置
2 绑定列 tvC.Properties := cxcbb.Properties
工具栏中拖一个TcxEditRepository控件, 双击, 在d窗中添加combobox(如名称为cxcbb, 设置方法和普通combobox一样)
2 绑定列 tvC.Properties := cxcbb.Properties
我的实例名是cxERCBB1,静态添加了items进行测试,代码:begintvC:=tvLIST.CreateColumn
tvC.Name:=ColName[i]
tvC.Caption:=dm.qry.FieldByName('ColCaption').AsString
tvC.DataBinding.FieldName:=ColName[i]
留邮箱, 我给你个示例
能否顺便问一个问题:
cxGrid绑定ClientDataSet,现在我需要在每次编辑完一个单元格,就对该行内容进行自动更新。例如我在“负责人”字段输入“张三”,当离开该字段时(无论是否离开该行),就自动检索,并在该行的“邮箱”字段填入张三的邮箱。
我用cxGridDBTreeView的onEditChanged,发现不行,在cxGrid的Edit内容提交给ClientDataSet之前就运行了,而代码是从ClientDataSet的字段中取值的,所以取不到值,而且当运行过代码后,cxGridDBTreeView的修改内容也无法提交给ClientDataSet。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)