读书人

请问~怎么通过ListView,更新数据库

发布时间: 2012-02-21 16:26:23 作者: rapoo

请教~如何通过ListView,更新数据库?
通过一个ListView目前实现了,读取数据库中的内容并添加至ListView。
想知道的是如何通过改写ListView中的某个字段后,实现更新数据库中的对应某个字段。



[解决办法]
这个可以让ListView的每项值,不但要显示字段的数据,还要记住字段名称等你认为更新字段时需要的内容,这样在更新数据时读取这些内容,就可以知道更新的字段名称,数据库等信息,以此来更新.

什么方式来记住这些信息?这得根据你自己要求,如每项都有个data属性,或其它方法.来记住
[解决办法]

探讨
都跑题了啊,现在是不能编辑ListView的字段啊。
ReadOnly=false之后,只能编辑每行的第一格

[解决办法]
事做了
void TForm1::Edit_List(int index)
{
if(index < 1)
return;

if(ListView1->Selected == NULL)
return;

if(ListView1->Selected->SubItems->Count < index )
return;

int width = 0;
for(int i = 0; i < index; i++)
width += ListView1->Column[i]->Width;

Edit1->Left = ListView1->Left + width + 3;
Edit1->Top = ListView1->Top + ListView1->Selected->Top;
Edit1->Text = ListView1->Selected->SubItems->Strings[index - 1];
Edit1->Visible = True;
Edit1->SetFocus();
}

void __fastcall TForm1::Edit1Exit(TObject *Sender)
{
ListView1->Selected->SubItems->Strings[index] = Edit1->Text; //index就是你要改的列
Edit1->Visible = False;
}

用的候用Edit_List(index); //index就是你要改的列

读书人网 >C++ Builder

热点推荐