2

現在、SQL データベースの 1 つからアプリケーションにデータをプルしています。テキストボックスやその他のアイテムでは機能しますが、チェックボックスでは機能しないようです。私が使用しているコードは次のとおりです。

DataTable dt = new DataTable("dt");
using (SqlConnection sqlConn = new SqlConnection(@"Connection Stuff;"))
{
    using (SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Box WHERE id = " + txtID.Text, sqlConn))
    {
        da.Fill(dt);
    }
}
Title.DataBindings.Add("text", dt, "title");
Picture.DataBindings.Add("text", dt, "image");
Side.DataBindings.Add("text", dt, "side");
Content.DataBindings.Add("text", dt, "content");
Check.DataBindings.Add(I dont know what to do here);

チェックボックスがチェックされている場合とチェックされていない場合にデータベースに保存されるデータは01それぞれです。データベースの値が の場合はアプリケーションのロード時にチェック済みに設定し、そう1でない場合はチェックを外すにはどうすればよい0ですか?

私は次のことを試しました:

0orをテキスト ボックスに格納し1、次の if ステートメントを使用します。

Check.DataBindings.Add("text", dt, "check");
if (txtCheckValue.Text == 1)
{
    Check.Checked = true;
}

この方法は機能しますが、これを行うためのより効率的な方法があるかどうか疑問に思っていました。願わくば同じThing.DataBindings.Add()形式に従ってください。理由は、アプリケーションに多くの非表示のテキスト ボックスを持たせたくないからです。

4

2 に答える 2

7

試す

Check.DataBindings.Add("Checked", dt, "check");

最初のパラメーターはコントロールのプロパティであるため、"Text" ではなく "Checked" が必要です。

于 2012-07-25T19:04:52.053 に答える