C/C++ VS2008です。
現在リストビューを用いたプログラムを書いているのですが
その中の1項目のカラムを非表示にしたいです。現在はcxを0にしてるのですが、、なんとも格好悪くて。
ご存知の方、よろしくお願いします。
リストビューのカラムを非表示にしたいのですが
Re: リストビューのカラムを非表示にしたいのですが
お返事ありがとうございます
非表示にしたいカラムをキーとして、行ごとにデータを管理していきたいと思っています。
具体的には非表示にしたいキーを基に、行データの削除を行いたいのです。
非表示にしたいカラムだけをメモリで管理するとなると、それに付随する他のデータとの整合性の取り方が思いつかないので
出来るのであれば、カラムを非表示にしたいと考えています。
画像を添付致します。
管理番号のカラムを非表示、キー列としたいです
リストビューには表示されていませんが、各行に削除フラグを設けて
以下のコードでDB側を操作してDBの削除フラグを更新しています。
ちょっと判りづらいかと思いますが、必要部分だけ抜粋します。
非表示にしたいカラムをキーとして、行ごとにデータを管理していきたいと思っています。
具体的には非表示にしたいキーを基に、行データの削除を行いたいのです。
非表示にしたいカラムだけをメモリで管理するとなると、それに付随する他のデータとの整合性の取り方が思いつかないので
出来るのであれば、カラムを非表示にしたいと考えています。
画像を添付致します。
管理番号のカラムを非表示、キー列としたいです
リストビューには表示されていませんが、各行に削除フラグを設けて
以下のコードでDB側を操作してDBの削除フラグを更新しています。
ちょっと判りづらいかと思いますが、必要部分だけ抜粋します。
char *szDeleteData ="update %s set 削除フラグ = 1 where 管理番号 = '%s'";//削除フラグを更新するSQL文
case IDC_DELETE://削除ボタン
{
nListReturn = ListView_GetNextItem(hList,-1, LVNI_SELECTED);//選択されている行の取得
ListView_GetItemText(hList,nListReturn,0,szBuff,sizeof(szBuff));//管理番号内の数字を取得
switch(nPosition)
{
case 1:
wsprintf(szSql,szDeleteData,szTableName,szBuff);//SQL文を成型
sql.GetStmt();
sql.SQLAction(szSql,hList);//削除フラグの更新を実行、削除した行を非表示にする
sql.StmtFlush();
break;
case 2:
wsprintf(szSql,szDeleteData,szTableName,szBuff);
sql.GetStmt();
sql.SQLAction(szSql,hList);
sql.StmtFlush();
break;
case 3:
wsprintf(szSql,szDeleteData,szTableName,szBuff);
sql.GetStmt();
sql.SQLAction(szSql,hList);
sql.StmtFlush();
break;
default:
break;
- 添付ファイル
-
- 無題.jpg (20.31 KiB) 閲覧数: 6773 回
Re: リストビューのカラムを非表示にしたいのですが
LV_ITEM構造体のlParamメンバに管理番号を記録するのはどうでしょう。
Re: リストビューのカラムを非表示にしたいのですが
ISLeさんアドバイスありがとうございます。
調べてみましたが、アイテムに対して番号振れるので、この方法でデータの整合性を取る事ができそうです。
今のプログラム構成だと大幅な書き直しが必要なので、もう少しご意見を聞かせていただきたいと思います。
調べてみましたが、アイテムに対して番号振れるので、この方法でデータの整合性を取る事ができそうです。
今のプログラム構成だと大幅な書き直しが必要なので、もう少しご意見を聞かせていただきたいと思います。