这样的功能如何实现?回答问题的都给分!

agu 2003-08-19 10:06:11
这样的功能如何实现?回答问题的都给分!
用一个datagrid绑定了一个mdb文件,现在想实现这样的功能:
1。屏蔽掉datagrid自动添加记录功能,就是说如果要添加记录必须的通过一个按钮,添加记录到datagrid中,并更新到数据库!
2。通过一个删除按钮,将选中的一行记录删除掉,并更新到数据库
3。单击“添加”按钮,datagrid能自动生成一个序号,也就是按照1,2,3,4,5的顺序自增。
大家是否有源码好让我参考一下,或者提供一些资料,网站给我!
...全文
70 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
91bct 2003-09-04
  • 打赏
  • 举报
回复
再将可为空的字段值清空:
/// <summary>
/// 将默认值恢复成空值
/// </summary>
private void RecoverNullValues()
{
DataRowView crw = BasicLib.Global.GetCurRowByCtrl(this,this.dsSFXMBM1,"ydk_sfxmbmb");
crw["XMMC"] = "";
crw["XMJC"] = "";
crw["SX"] = "";
crw["DJ"] = "";
crw["DW"] = "";
crw["BZ"] = "";
}
91bct 2003-09-04
  • 打赏
  • 举报
回复
如果有非空的字段必须先给它赋值,否则不能存进数据库中:
/// <summary>
/// 设置默认值
/// </summary>
private void SetDefaultValues(string serialno)
{
try
{
this.dsSFXMBM1.Tables["ydk_sfxmbmb"].Columns["ID"].DefaultValue = serialno;
this.dsSFXMBM1.Tables["ydk_sfxmbmb"].Columns["XMDH"].DefaultValue = "*";
this.dsSFXMBM1.Tables["ydk_sfxmbmb"].Columns["XMMC"].DefaultValue = "*";
this.dsSFXMBM1.Tables["ydk_sfxmbmb"].Columns["XMJC"].DefaultValue = "*";
this.dsSFXMBM1.Tables["ydk_sfxmbmb"].Columns["SX"].DefaultValue = "*";
this.dsSFXMBM1.Tables["ydk_sfxmbmb"].Columns["DJ"].DefaultValue = "*";
this.dsSFXMBM1.Tables["ydk_sfxmbmb"].Columns["DW"].DefaultValue = "*";
this.dsSFXMBM1.Tables["ydk_sfxmbmb"].Columns["BZ"].DefaultValue = "*";
this.dsSFXMBM1.Tables["ydk_sfxmbmb"].Columns["DHGJ"].DefaultValue = 0;
this.dsSFXMBM1.Tables["ydk_sfxmbmb"].Columns["SFJS"].DefaultValue = 0;
}
catch(Exception ee)
{
Console.WriteLine(ee.Message);
return;
}
}
91bct 2003-09-04
  • 打赏
  • 举报
回复
/// <summary>
/// 新增一行记录
/// </summary>
private void NewRecord()
{
this.SaveData();

serialNo = ConstClass.GetSerialNo(ConstClass.Conn,"SERIALNO","PREFIX","CURSN","1",11);//用来获得ID;
this.SetDefaultValues(this.serialNo);
DataRow newRow = this.dsSFXMBM1.Tables["ydk_sfxmbmb"].NewRow();
this.dsSFXMBM1.Tables["ydk_sfxmbmb"].Rows.Add(newRow);

this.addNewMode = true;
this.dataGridTableStyle_SFXMBM.AllowSorting = false;

int iRow = this.BindingContext[this.dsSFXMBM1,"ydk_sfxmbmb"].Count -1;
this.dsSFXMBM1.Tables["ydk_sfxmbmb"].Rows[iRow]["ID"] = serialNo;
try
{
this.BindingContext[this.dsSFXMBM1,"ydk_sfxmbmb"].EndCurrentEdit();
this.daSFXMBM.Update(this.dsSFXMBM1);
}
catch(Exception err)
{
Debug.Fail(err.Message);
}
this.BindingContext[this.dsSFXMBM1,"ydk_sfxmbmb"].Position = this.BindingContext[this.dsSFXMBM1,"ydk_sfxmbmb"].Count -1;
if(this.BindingContext[this.dsSFXMBM1,"ydk_sfxmbmb"].Count == 1)
{
this.OnKeyFieldChanged();
}
this.RecoverNullValues ();

}
cnhgj 2003-09-03
  • 打赏
  • 举报
回复
晕~!!最近写VB.net写晕了头~!!代码变成VB.net+C#了。。呵呵`!

integer i = 0;
DataGridItem x;
foreach(x in DataGrid1.Items)
{
Response.Write(i + "<br>");
}
win911 2003-09-03
  • 打赏
  • 举报
回复
楼上说的都已经很清楚了哦 ~~
happydayandday 2003-09-03
  • 打赏
  • 举报
回复
收藏
magamaga 2003-09-03
  • 打赏
  • 举报
回复
用强类型表来做会好些!
cnhgj 2003-09-03
  • 打赏
  • 举报
回复
用遍历,然后在循环中赋值
integer i = 0;
DataGridItem x;
for each x in DataGrid1.Items
i++;
next
Response.Write(i);
TreelightLSH 2003-09-03
  • 打赏
  • 举报
回复
学习
agu 2003-09-03
  • 打赏
  • 举报
回复
哪位高手能给我EMAIL,我将我的源程序发给你们,可以帮我修改代码吗?
cdyxh 2003-09-03
  • 打赏
  • 举报
回复
C#中提供了一種高速緩存的技術,建義樓主看一下這方的資料,其實一點也不難.思路:
先將table的結構從數據裏取出來到一個datatable中,新增一行在datable就增加一行.最後保存到數據庫中.挺簡單的.
isonme 2003-09-03
  • 打赏
  • 举报
回复
up
ambitiou 2003-09-03
  • 打赏
  • 举报
回复
一、屏蔽录入就简单,只要DataGrid设为ReadOnly就行了。添加新记录最好用一个新的窗口。录入数据库就用SQL,在DataGrid中实现添加实在不是个好主意。
二、删除如下:
ds.Tables["test"].DefaultView.AllowDelete=true;
int RowIndex=dataGrid1.CurrentRowIndex;
//从dataGrid1中删除记录
ds.Tables["test"].DefaultView.Delete(RowIndex);
myCommand.Update(ds,"test");
ds.Tables["test"].AcceptChanges();
三、生成新序号可以靠数据库或编程等实现,主要看你的序号的作用是什么,这就不想详述了。
zhbname 2003-09-03
  • 打赏
  • 举报
回复
up
维她奶 2003-08-20
  • 打赏
  • 举报
回复
楼主,代码我已经发给你了。请签收!
zjw19 2003-08-20
  • 打赏
  • 举报
回复
添加一个删除列啊
skylake888 2003-08-20
  • 打赏
  • 举报
回复
呵呵,这么详细阿,学习ing~~~~~~~~~~
jonescheng 2003-08-20
  • 打赏
  • 举报
回复
好贴。收藏!
jurkey 2003-08-20
  • 打赏
  • 举报
回复
真热闹,值得学习
joyu 2003-08-20
  • 打赏
  • 举报
回复
我看了一下,比较实用的还是 “xiaodele(小得乐) ” 的方法好。

加载更多回复(15)

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧