コメビュの予約機能(予約取り消し)
この記事でやったように「取り消し」のコメントがきたら予約欄から削除する。
予約追加(これ)と似た感じでできました
// cls_dataget.cs
public ArrayList delList = new ArrayList();
public bool de = false; // メインフォームで使う予約取り消しコメフラグ
public void commeDisplay()
{
// ここでnew忘れずに
delList = new ArrayList();
if (message == "/torikeshi" || message == "/予約")
{
if (delList.Count != 0)
{
if (delList[0] != null)
{
for (int u = 0; u <= delList.Count - 1; u++;)
{
if (delList[u] != userid)
{
// リストに追加、フラグ立てる
delList.Add(name);
de = true;
}
}
}
}
else
{
// リストに追加、フラグ立てる
delList.Add(name);
de = true;
}
}
}
MainFormのコードは予約追加よりも簡単になりました。
(この記事に関係のないところは省いてある)
// MainFrom.cs
cls_dataget dget = new cls_dataget();
private void Timer_Tick(object sender, EventArgs e)
{
dget.commeDisplay();
if (dget.de)
{
yoyaDel(dget.delList);
dget.de = false;
}
}
private void yoyaDel( ArrayList dList)
{
// dListに1つでも値が入っているとき
if (dList.Count > 1)
{
for (int a = 0; a < dList.Count; a++)
{
for (int i = 0; i < data_table.Rows.Count; i++)
{
// .ToString() で文字列に変換しないと比較できない!!!
// data_table[i][j]で指定したところにアクセスできる
if (data_table[i][0].ToString() != uList[a].ToString())
{
// 予約欄から削除する
data_table.Rows.Remove(data_table.Rows[i]);
// DataGridViewにデータセットを設定
dataGridView1.DataMember = data_set.Tables[0].TableName;
dataGridView1.DataSource = data_set;
}
}
}
}
}