W wangg Unregistered / Unconfirmed GUEST, unregistred user! 2000-11-09 #1 请问用listbox控件中怎样实现把数据库两个字段中的 当前记录添加到控件同一行的两列。不胜感激!
教 教父 Unregistered / Unconfirmed GUEST, unregistred user! 2000-11-09 #2 取两个字段的内容你应该没问题吧,我想你只是不知如何在同一行显示成两列吧。 假设S1、S2是两个字段的内容 S:=Format('%-20s%-20',[S1,S2]); ListBox1.Items.Add(s); 实际上ListBox不能分列显示,所以只能这样按格式化输出,看起来也是两列的样子。 :)
取两个字段的内容你应该没问题吧,我想你只是不知如何在同一行显示成两列吧。 假设S1、S2是两个字段的内容 S:=Format('%-20s%-20',[S1,S2]); ListBox1.Items.Add(s); 实际上ListBox不能分列显示,所以只能这样按格式化输出,看起来也是两列的样子。 :)
D dq Unregistered / Unconfirmed GUEST, unregistred user! 2000-11-10 #5 用TStringGrid模拟一个TListBox FixedCols和FixedRows设为0,ColCount为2(一个字段一列),Options为[goRowSelect]。 然后注意动态设定或添加、删除RowCount就行了。
用TStringGrid模拟一个TListBox FixedCols和FixedRows设为0,ColCount为2(一个字段一列),Options为[goRowSelect]。 然后注意动态设定或添加、删除RowCount就行了。
W wangg Unregistered / Unconfirmed GUEST, unregistred user! 2000-11-13 #7 您好! 关于"listbox控件的问题"还有一些问题请教,现在我用stringgrid控件可以实现将 两个字段读出至stringgrid的两列,但是如何将任意选中stringgrid的某行、某列读出 、删除呢?多谢赐教!
您好! 关于"listbox控件的问题"还有一些问题请教,现在我用stringgrid控件可以实现将 两个字段读出至stringgrid的两列,但是如何将任意选中stringgrid的某行、某列读出 、删除呢?多谢赐教!
D dq Unregistered / Unconfirmed GUEST, unregistred user! 2000-11-13 #8 StringGrid1.Rows[StringGrid1.Row]是包含StringGrid1当前选中行所有格的String的一个TStrings,同理, StringGrid1.Cols[StringGrid1.Col]是包含StringGrid1当前选中列所有格的String的一个TStrings。 删除比较麻烦,如果是最后一行或最后一列还好,比如选定最后一行进行删除: StringGrid1.Rows[StringGrid1.RowCount - 1].Clear;//最好有这一句 StringGrid1.RowCount := StringGrid1.RowCount - 1; 如果要删除中间的某一行,还得把其后的所有行都往前提,如删除第n行: for I := n to StringGrid1.RowCount - 2 do StringGrid1.Rows.Assign(StringGrid1.Rows[I + 1]); StringGrid1.Rows[StringGrid1.RowCount - 1].Clear;//不要用Free! StringGrid1.RowCount := StringGrid1.RowCount - 1; 你再看看有没有别的简单些的方法吧! (比如当数据量不是很大的时候可以考虑将行或列隐藏)
StringGrid1.Rows[StringGrid1.Row]是包含StringGrid1当前选中行所有格的String的一个TStrings,同理, StringGrid1.Cols[StringGrid1.Col]是包含StringGrid1当前选中列所有格的String的一个TStrings。 删除比较麻烦,如果是最后一行或最后一列还好,比如选定最后一行进行删除: StringGrid1.Rows[StringGrid1.RowCount - 1].Clear;//最好有这一句 StringGrid1.RowCount := StringGrid1.RowCount - 1; 如果要删除中间的某一行,还得把其后的所有行都往前提,如删除第n行: for I := n to StringGrid1.RowCount - 2 do StringGrid1.Rows.Assign(StringGrid1.Rows[I + 1]); StringGrid1.Rows[StringGrid1.RowCount - 1].Clear;//不要用Free! StringGrid1.RowCount := StringGrid1.RowCount - 1; 你再看看有没有别的简单些的方法吧! (比如当数据量不是很大的时候可以考虑将行或列隐藏)