16,472
社区成员
发帖
与我相关
我的任务
分享
void CTSGLView::OnButton2()
{// TODO: Add your control notification handler code here
Csearch Dlg ;
UpdateData(true);
if(Dlg.DoModal()==IDOK)
{ m_pSet->Edit();
Dlg.m_1.TrimLeft(); // 将字符串最前面的空格修整掉
Dlg.m_2.TrimLeft(); // 将字符串最前面的空格修整掉
Dlg.m_3.TrimLeft(); // 将字符串最前面的空格修整掉
if (Dlg.m_1.IsEmpty()&&Dlg.m_2.IsEmpty()&&Dlg.m_3.IsEmpty())
{MessageBox(" 要查询的条件不能为空! ");
return;
}
if (m_pSet->IsOpen())
m_pSet->Close(); // 如果记录集打开,则先关闭
if(!(Dlg.m_1.IsEmpty())&&!(Dlg.m_2.IsEmpty())&&(Dlg.m_3.IsEmpty()))
{m_pSet->m_strFilter.Format(" 图书编号 ='%s' AND 书名 ='%s' AND 作者名 ='%s' ",Dlg.m_1,Dlg.m_2,Dlg.m_3);
m_pSet->m_strSort = "图书编号 ASC,书名 ASC,作者名 ASC"; }
else
{m_pSet->m_strFilter.Format(" 图书编号 ='%s' OR 书名 ='%s'OR 作者名 ='%s' ",Dlg.m_1,Dlg.m_2,Dlg.m_3);
// m_strFilter 设置对记录的过滤
m_pSet->m_strSort = "图书编号 ASC,书名 ASC,作者名 ASC";
// m_strSort 设置对记录的排序 .按 number 的降序排列记录 }
m_pSet->Open();
// 打开记录集 .Open 函数在构造 SELECT语句时,
// 会把 m_strFilter 和 m_strSort 的内容放入 SELECT语句的 WHERE 和 ORDER BY 子句 中
if (!m_pSet->IsEOF())
{ m_pSet->Requery(); // 如果打开记录集有记录
UpdateData(false);
OnButton1();
OnInitialUpdate();}
else
MessageBox(" 没有查到你要找的图书信息! ");
} }
}
DWORD style=C_List.GetExtendedStyle();
m_List.SetExtendedStyle(style|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
//以下为插入几个列的列标题
m_List.InsertColumn(1, _T("列1") , LVCFMT_LEFT,40,1);
m_List.InsertColumn(2,_T("列2"),LVCFMT_LEFT,40,2);
m_List.InsertColumn(3,_T("列3"),LVCFMT_LEFT,80,3);
m_List.InsertColumn(4,_T("列4"),LVCFMT_LEFT,80,4);
插入数据时:
m_List.DeleteAllItems();//清空列表框
for(int j=0;j<=nCount;j++)
{
m_List.InsertItem(j, _T("c"));//首先插入一行,其中的字符可以任意,也可以为空
str.Format(_T("%d"),j);
m_List.SetItemText(j,0,str);//设置第一列数据
str.Format(_T("%d"),j+1);
m_List.SetItemText(j,1,str);//设置第二列数据,如此可以设置其它列的数据
}