بروزآوری کوئری متصل به dbgridEH با استفاده از چک باکس گرید
با سلام خدمت دوستان
میخواهم از طریق چک باکس مربوط به dbgrideh ردیفهایی که چک باکس آنها تیک خورده به صورت گروهی فیلد خاصی را بروزآوری نمایم. احتمالا باید از SelectedRows در این مورد استفاده نمود. ولی تلاش من نتیجه نداد. دوستان در صورت امکان راهنمایی بفرمایند. متشکرم
نقل قول: بروزآوری کوئری متصل به dbgridEH با استفاده از چک باکس گرید
با نمونه کد زیر میشه مقادیر فیلد Name سطرهای انتخاب شده با چک باکس و نمایش داد. میتونید تو بدنه این نمونه کد بجای نمایش مقادیر، عمل بروزرسانی و انجام بدید.
vari: Integer;
KeyValue: Variant;
msg:string;
begin
msg := '[';
KeyValue := VarArrayCreate([0, DBGridEh1.SelectedRows.Count-1], varVariant);
for i := 0 to DBGridEh1.SelectedRows.Count-1 do
begin
MemTableEh1.Bookmark := DBGridEh1.SelectedRows[i];
msg := msg + MemTableEh1Name.AsString;
if i < DBGridEh1.SelectedRows.Count-1 then
msg := msg + ',';
KeyValue[i] := MemTableEh1id.Value;
end;
msg := msg + ']';
ShowMessage(msg);
end;
نقل قول: بروزآوری کوئری متصل به dbgridEH با استفاده از چک باکس گرید
ضمن تشکر از جناب حسین خانی
این نمونه را در نت پیدا و برای نیازم آنرا اصلاح نمودم .
نقل قول:
if dbgDastorKarOK.SelectedRows.Count>0 then
with dbgDastorKarOK.DataSource.DataSet do
for i:=0 to dbgDastorKarOK.SelectedRows.Count-1 do
begin
GotoBookmark(pointer(dbgDastorKarOK.SelectedRows.I tems[i]));
qrydbgDastorKarOK.Edit;
qrydbgDastorKarOK.FieldByName('IsRedySorVaz').Valu e:=True ;
qrydbgDastorKarOK.Post;
intRecNumber:=qrydbgDastorKarOK.RecNo;
end;